当前位置: 首页>>代码示例>>C#>>正文


C# XmlTextReader.ReadAttributeValue方法代码示例

本文整理汇总了C#中System.Xml.XmlTextReader.ReadAttributeValue方法的典型用法代码示例。如果您正苦于以下问题:C# XmlTextReader.ReadAttributeValue方法的具体用法?C# XmlTextReader.ReadAttributeValue怎么用?C# XmlTextReader.ReadAttributeValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Xml.XmlTextReader的用法示例。


在下文中一共展示了XmlTextReader.ReadAttributeValue方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AppendAttributeValue

 internal int AppendAttributeValue(XmlTextReader reader)
 {
     int num = 0;
     char quoteChar = reader.QuoteChar;
     if ((quoteChar != '"') && (quoteChar != '\''))
     {
         quoteChar = '"';
     }
     num += this.Write(quoteChar);
     while (reader.ReadAttributeValue())
     {
         if (reader.NodeType == XmlNodeType.Text)
         {
             num += this.AppendEscapeXmlString(reader.Value, true, quoteChar);
         }
         else
         {
             num += this.AppendEntityRef(reader.Name);
         }
     }
     return (num + this.Write(quoteChar));
 }
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:22,代码来源:XmlUtilWriter.cs

示例2: AppendAttributeValue

        internal int AppendAttributeValue(XmlTextReader reader)
        {
            int charactersWritten = 0;
            char quote = reader.QuoteChar;

            // In !DOCTYPE, quote is '\0' for second public attribute. 
            // Protect ourselves from writing invalid XML by always
            // supplying a valid quote char.
            if ((quote != '"') && (quote != '\'')) quote = '"';

            charactersWritten += Write(quote);
            while (reader.ReadAttributeValue())
                if (reader.NodeType == XmlNodeType.Text)
                    charactersWritten += AppendEscapeXmlString(reader.Value, true, quote);
                else charactersWritten += AppendEntityRef(reader.Name);

            charactersWritten += Write(quote);
            return charactersWritten;
        }
开发者ID:chcosta,项目名称:corefx,代码行数:19,代码来源:XmlUtilWriter.cs

示例3: PreserveEntity

		public void PreserveEntity ()
		{
			string intSubset = "<!ELEMENT root EMPTY><!ATTLIST root foo CDATA 'foo-def' bar CDATA 'bar-def'><!ENTITY ent 'entity string'>";
			string dtd = "<!DOCTYPE root [" + intSubset + "]>";
			string xml = dtd + "<root foo='&ent;' bar='internal &ent; value' />";
			XmlTextReader dvr = new XmlTextReader (xml, XmlNodeType.Document, null);
			dvr.EntityHandling = EntityHandling.ExpandCharEntities;
			dvr.Read ();	// DTD
			dvr.Read ();
			AssertEquals (XmlNodeType.Element, dvr.NodeType);
			AssertEquals ("root", dvr.Name);
			Assert (dvr.MoveToFirstAttribute ());
			AssertEquals ("foo", dvr.Name);
			// MS BUG: it returns "entity string", however, entity should not be exanded.
			AssertEquals ("&ent;", dvr.Value);
			//  ReadAttributeValue()
			Assert (dvr.ReadAttributeValue ());
			AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);
			AssertEquals ("ent", dvr.Name);
			AssertEquals ("", dvr.Value);
			Assert (!dvr.ReadAttributeValue ());

			// bar
			Assert (dvr.MoveToNextAttribute ());
			AssertEquals ("bar", dvr.Name);
			AssertEquals ("internal &ent; value", dvr.Value);
			//  ReadAttributeValue()
			Assert (dvr.ReadAttributeValue ());
			AssertEquals (XmlNodeType.Text, dvr.NodeType);
			AssertEquals ("", dvr.Name);
			AssertEquals ("internal ", dvr.Value);
			Assert (dvr.ReadAttributeValue ());
			AssertEquals (XmlNodeType.EntityReference, dvr.NodeType);
			AssertEquals ("ent", dvr.Name);
			AssertEquals ("", dvr.Value);
			Assert (dvr.ReadAttributeValue ());
			AssertEquals (XmlNodeType.Text, dvr.NodeType);
			AssertEquals ("", dvr.Name);
			AssertEquals (" value", dvr.Value);

		}
开发者ID:jjenki11,项目名称:blaze-chem-rendering,代码行数:41,代码来源:XmlTextReaderTests.cs

示例4: AttributeWithEntityReference

		public void AttributeWithEntityReference ()
		{
			string xml = @"<a value='hello &ent; world' />";
			XmlReader xmlReader =
				new XmlTextReader (new StringReader (xml));
			xmlReader.Read ();
			xmlReader.MoveToFirstAttribute ();
			xmlReader.ReadAttributeValue ();
			AssertEquals ("hello ", xmlReader.Value);
			Assert (xmlReader.ReadAttributeValue ());
			AssertEquals (XmlNodeType.EntityReference, xmlReader.NodeType);
			AssertEquals ("ent", xmlReader.Name);
			AssertEquals (XmlNodeType.EntityReference, xmlReader.NodeType);
			Assert (xmlReader.ReadAttributeValue ());
			AssertEquals (" world", xmlReader.Value);
			AssertEquals (XmlNodeType.Text, xmlReader.NodeType);
			Assert (!xmlReader.ReadAttributeValue ());
			AssertEquals (" world", xmlReader.Value); // remains
			AssertEquals (XmlNodeType.Text, xmlReader.NodeType);
			xmlReader.ReadAttributeValue ();
			AssertEquals (XmlNodeType.Text, xmlReader.NodeType);
		}
开发者ID:jjenki11,项目名称:blaze-chem-rendering,代码行数:22,代码来源:XmlTextReaderTests.cs

示例5: XmlDeclarationReadAttributeValue2

		public void XmlDeclarationReadAttributeValue2 ()
		{
			const string input = "<?xml version=\"1.0\" encoding=\"utf-8\"?><hello />";
			var reader = new XmlTextReader (new StringReader (input));
			reader.WhitespaceHandling = WhitespaceHandling.All;
			reader.Read ();
			Assert.IsTrue (reader.MoveToNextAttribute (), "#1a");
			Assert.IsTrue (reader.ReadAttributeValue (), "#1b");
			Assert.AreEqual (XmlNodeType.Text, reader.NodeType, "#1c");
			Assert.AreEqual ("1.0", reader.Value, "#1d");
			Assert.IsFalse (reader.ReadAttributeValue(), "#1e");

			Assert.IsTrue (reader.MoveToNextAttribute(), "#2a");
			Assert.IsTrue (reader.ReadAttributeValue(), "#2b");
			Assert.AreEqual (XmlNodeType.Text, reader.NodeType, "#2c");
			Assert.AreEqual ("utf-8", reader.Value, "#2d");
			Assert.IsFalse (reader.ReadAttributeValue(), "#2e");

			Assert.IsFalse (reader.MoveToNextAttribute(), "#3");
			Assert.IsFalse (reader.ReadAttributeValue(), "#4");
			Assert.AreEqual (XmlNodeType.Text, reader.NodeType, "#5");
		}
开发者ID:Profit0004,项目名称:mono,代码行数:22,代码来源:XmlTextReaderTests.cs

示例6: XmlDeclarationReadAttributeValue

		public void XmlDeclarationReadAttributeValue ()
		{
			const string input = "<?xml version=\"1.0\" encoding=\"utf-8\"?><hello />";
			var reader = new XmlTextReader (new StringReader (input));
			reader.WhitespaceHandling = WhitespaceHandling.All;
			reader.Read ();
			
			Assert.AreEqual ("1.0", reader.GetAttribute ("version"), "#0");
			Assert.AreEqual ("utf-8", reader.GetAttribute ("encoding"), "#0-2");

			Assert.IsTrue (reader.MoveToNextAttribute (), "#1");
			Assert.AreEqual ("1.0", reader.Value, "#1-1");
			Assert.IsTrue (reader.ReadAttributeValue (), "#2");
			Assert.AreEqual ("1.0", reader.Value, "#3");
			Assert.IsFalse (reader.ReadAttributeValue (), "#4");

			Assert.IsTrue (reader.MoveToNextAttribute (), "#5");
			Assert.AreEqual ("utf-8", reader.Value, "#5-1");
			Assert.IsTrue (reader.ReadAttributeValue (), "#6");
			Assert.AreEqual ("utf-8", reader.Value, "#7");
			Assert.IsFalse (reader.ReadAttributeValue (), "#8");

			Assert.IsFalse (reader.MoveToNextAttribute (), "#9");
			Assert.IsFalse (reader.ReadAttributeValue (), "#10");
		}
开发者ID:Profit0004,项目名称:mono,代码行数:25,代码来源:XmlTextReaderTests.cs

示例7: Read

		public override void Read (XmlTextReader xml, bool start)
		{
			if (CanSerialize) {
				base.Read (xml, start);

				if (start) {
					while (xml.MoveToNextAttribute()) {
						string name = xml.Name;

						xml.ReadAttributeValue();
						Attributes [name] = xml.Value;

						OnAttributeRead (name);
						Logger.Debug (
						        "NoteTag: {0} read attribute {1}='{2}'",
						        ElementName,
						        name,
						        xml.Value);
					}
				}
			}
		}
开发者ID:MichaelAquilina,项目名称:tomboy,代码行数:22,代码来源:NoteTag.cs

示例8: Recurse

        protected void Recurse(XmlTextReader reader, Menu root)
        {
            String inner = reader.ReadInnerXml();

              NameTable nt = new NameTable();
              XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
              XmlParserContext ctxt = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
              XmlTextReader reader2 = new XmlTextReader(inner, XmlNodeType.Element, ctxt);

              while (reader2.Read())
              {
            if (reader2.NodeType == XmlNodeType.Element)
            {
              switch (reader2.LocalName)
              {
            case "menu":
              // Menuitem. Find the name, accesskey, command and id strings
              String[] values = new String[3] {"", "", ""};
              String[] names = new String[3] {"label", "accesskey", "command"};
              for (int i = 0; i < names.Length; ++i)
              {
                if (reader2.MoveToAttribute(names[i]) &&
                  reader2.ReadAttributeValue())
                  values[i] = reader2.Value; // XXX need to handle entities
                reader2.MoveToElement();
              }

              // Handle Accesskey
              values[0] = ManticoreMenuItem.GenerateAccessKeyString(values[0], values[1]);

              // Create menu item and attach an event handler
              // BLUESKY - should we support data stored in the XML file as an attribute?
              mCurrentMenuItem = new ManticoreMenuItem(values[0],
                                                       new EventHandler(OnCommandInternal),
                                                       values[2], "");
              if (values[2] != "")
                mItems.Add(values[2], mCurrentMenuItem);
              root.MenuItems.Add(mCurrentMenuItem);
              Recurse(reader2, mCurrentMenuItem);
              break;
            case "menuseparator":
              mCurrentMenuItem = new MenuItem("-");
              root.MenuItems.Add(mCurrentMenuItem);
              break;
            case "menubuilder":
              String id = "";
              if (reader2.MoveToAttribute("id") &&
                  reader2.ReadAttributeValue())
                id = reader2.Value;
              reader2.MoveToElement();
              String datastore = "";
              if (reader2.MoveToAttribute("datastore") &&
                  reader2.ReadAttributeValue())
                datastore = reader2.Value;

              BaseMenuBuilder builder = new BaseMenuBuilder(mMainMenu, root as MenuItem, mCurrentMenuItem, null);
              builder.Root = id;
              builder.DataStore = DataStoreRegistry.GetDataStore(datastore);
              builder.DataStore.AddObserver(builder);
              builder.OnCommand += new EventHandler(OnCommandInternal);
              mBuilders.Add(builder.GetHashCode(), builder);
              break;
              }
            }
              }
        }
开发者ID:nfan,项目名称:Jaxer,代码行数:66,代码来源:toolkit.menus.cs

示例9: FillList

 /// <summary>
 /// Fill the list with source
 /// </summary>
 /// <param name="XmlSourceFile"></param>
 public void FillList(string XmlSourceFile)
 {
     XmlTextReader XmlReader=new XmlTextReader(XmlSourceFile);
     while (XmlReader.Read())
     {
         if(XmlReader.HasAttributes & XmlReader.NodeType==System.Xml.XmlNodeType.Element)
         {
             if(XmlReader[0].ToUpper() != "ISO")
             {
                 this._SourceList.Add(XmlReader[1]);
             }
         }
         XmlReader.ReadAttributeValue();
     }
 }
开发者ID:SDRC-India,项目名称:sdrcdevinfo,代码行数:19,代码来源:Source.cs

示例10: Build

        public void Build(Object sender, EventArgs e)
        {
            XmlTextReader reader;
              reader = new XmlTextReader(mToolbarFile);
              reader.WhitespaceHandling = WhitespaceHandling.None;
              reader.MoveToContent();

              bool shouldBuildNewRow = true;

              while (reader.Read())
              {
            if (reader.NodeType == XmlNodeType.Element)
            {
              switch (reader.LocalName)
              {
            case "toolstrip":
              // The next <toolbar/> we encounter should be created on a new row.
              shouldBuildNewRow = true;
              break;
            case "toolbar":
              String[] tbvalues = new String[4] {"", "", "",  ""};
              String[] tbnames = new String[4] {"id", "label", "description", "visible"};
              for (int i = 0; i < tbnames.Length; ++i)
              {
                if (reader.MoveToAttribute(tbnames[i]) &&
                  reader.ReadAttributeValue())
                  tbvalues[i] = reader.Value; // XXX need to handle entities
                reader.MoveToElement();
              }

              String key = tbvalues[0];
              String label = tbvalues[1];
              bool visible = tbvalues[3] == "true";

              // Create and add a new toolbar.
              mToolBar.Appearance = ToolBarAppearance.Flat;
              mToolBar.ButtonClick += new ToolBarButtonClickEventHandler(this.OnCommand);
              mForm.Controls.Add(mToolBar);

              //mCoolBar.Bands.Add(-1, key, label, new Object(), true, mToolBar, true);

              shouldBuildNewRow = false;
              break;
            case "toolbarseparator":
            {
              if (mToolBar != null)
              {
                ToolBarButton button = new ToolBarButton();
                button.Style = ToolBarButtonStyle.Separator;
                mToolBar.Buttons.Add(button);
              }
              break;
            }
            case "toolbarbutton":
            {
              if (mToolBar != null)
              {
                String[] tbbvalues = new String[3] {"", "", ""};
                String[] tbbnames = new String[3] {"label", "icon", "command"};
                for (int i = 0; i < tbbnames.Length; ++i)
                {
                  if (reader.MoveToAttribute(tbbnames[i]) &&
                    reader.ReadAttributeValue())
                    tbbvalues[i] = reader.Value; // XXX need to handle entities
                  reader.MoveToElement();
                }

                ToolBarButton button = new CommandButtonItem(tbbvalues[1]);
                button.Text = tbbvalues[0];
                mToolBar.Buttons.Add(button);
              }
              break;
            }
              }
            }
              }
        }
开发者ID:nfan,项目名称:Jaxer,代码行数:77,代码来源:toolkit.toolbars.cs

示例11: CatListRecurse

        private void CatListRecurse(XmlTextReader aReader, Object aRootNode)
        {
            String inner = aReader.ReadInnerXml();

              NameTable nt = new NameTable();
              XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
              XmlParserContext ctxt = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
              XmlTextReader reader2 = new XmlTextReader(inner, XmlNodeType.Element, ctxt);

              TreeNode node;

              while (reader2.Read()) {
            if (reader2.NodeType == XmlNodeType.Element) {
              switch (reader2.LocalName) {
              case "panel":
            // Tree node with children. Retrieve label and id. Label is
            // used for visual presentation, id is hashed against node
            // and is used as a key when looking for which panel to
            // load.
            String[] values = new String[2] {"", ""};
            String[] names = new String[2] {"label", "id"};
            for (int i = 0; i < names.Length; ++i) {
              if (reader2.MoveToAttribute(names[i]) &&
                reader2.ReadAttributeValue())
                values[i] = reader2.Value;
              reader2.MoveToElement();
            }

            node = new TreeNode(values[0], 0, 0);
            if (aRootNode is TreeView) {
              TreeView rootView = aRootNode as TreeView;
              rootView.Nodes.Add(node);
            }
            else if (aRootNode is TreeNode) {
              TreeNode rootNode = aRootNode as TreeNode;
              rootNode.Nodes.Add(node);
            }

            mNodes.Add(node.GetHashCode(), values[1]);
            CatListRecurse(reader2, node);
            break;
              }
            }
              }
        }
开发者ID:nfan,项目名称:Jaxer,代码行数:45,代码来源:PrefsDialog.cs

示例12: DeserializeGraph

		/// <summary>
		/// 
		/// </summary>
		/// <param name="r"></param>
		/// <param name="t"></param>
		/// <returns></returns>
		public object DeserializeGraph(XmlTextReader r, Type t) 
		{
			object o = t.Assembly.CreateInstance(t.FullName);
			string InstanceName = r.Name;
			int i = 0;

			if(o.GetType().BaseType == typeof(System.Collections.CollectionBase))
			{
				o = DeserializeCollection(r, t);
			}

			PropertyInfo[] properties = o.GetType().GetProperties(BindingFlags.Public|BindingFlags.Instance);
			
			#region Handle XmlRoot attributes
			if(r.HasAttributes) 
			{
				while(r.MoveToNextAttribute() && i < properties.Length) 
				{
					object[] butes = properties[i].GetCustomAttributes(false);
					object bute = null;
					if(butes.Length > 0)
						bute = butes[0];

					PropertyInfo property = null;

					if(r.Name == (bute as XmlAttributeAttribute).AttributeName) 
					{
						property = properties[i];
					}
					else 
					{
						property = t.GetProperty(r.Name);
					}

					if(property.PropertyType.Name == "String") 
					{
						// We have a string
						r.ReadAttributeValue();
						string s = r.Value;
						if(property.CanWrite)
							property.SetValue(o, s, null);
					}
					i++;
				}
			}
			#endregion

			while(r.Read() && i < properties.Length) 
			{
				if((r.Name == InstanceName) && (r.NodeType == XmlNodeType.EndElement)) 
				{
					break;
				}

				object[] attribs = properties[i].GetCustomAttributes(false);
				object attrib = null;

				if(attribs.Length > 0)
					attrib = attribs[0];		
	
				if(r.HasAttributes) 
				{
					r.MoveToFirstAttribute();
					while(r.HasAttributes) 
					{
						PropertyInfo property = null;

						if(r.Name == (attrib as XmlAttributeAttribute).AttributeName) 
						{
							property = properties[i];
						}
						else 
						{
							property = t.GetProperty(r.Name);
						}

						if(property.PropertyType.Name == "String") 
						{
							// We have a string
							r.ReadAttributeValue();
							string s = r.Value;
							if(property.CanWrite)
								property.SetValue(o, s, null);
						}
						i++;
					}
				}
				else if((r.NodeType == XmlNodeType.Element)) 
				{
					
					if(r.IsEmptyElement) 
					{
						i++;
						continue;
//.........这里部分代码省略.........
开发者ID:JeffreyZksun,项目名称:gpstranslator,代码行数:101,代码来源:XmlSerializer.cs


注:本文中的System.Xml.XmlTextReader.ReadAttributeValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。