XmlTextReader.Name Property
Gets the qualified name of the current node.
[Visual Basic] Overrides Public ReadOnly Property Name As String [C#] public override string Name {get;} [C++] public: __property String* get_Name(); [JScript] public override function get Name() : String;
Property Value
The qualified name of the current node. For example, Name is bk:book for the element <bk:book>.
The name returned is dependent on the NodeType of the node. The following node types return the listed values. All other node types return an empty string.
| Node Type | Name |
|---|---|
| Attribute | The name of the attribute. |
| DocumentType | The document type name. |
| Element | The tag name. |
| EntityReference | The name of the entity referenced. |
| ProcessingInstruction | The target of the processing instruction. |
| XmlDeclaration | The literal string xml. |
Example
[Visual Basic, C#, C++] The following example reads an XML file and displays each of the nodes.
[Visual Basic] Option Strict Option Explicit Imports System Imports System.IO Imports System.Xml 'Reads an XML document Public Class Sample Private Const filename As String = "items.xml" Public Shared Sub Main() Dim reader As XmlTextReader = Nothing Try ' Load the reader with the data file and ignore all white space nodes. reader = New XmlTextReader(filename) reader.WhitespaceHandling = WhitespaceHandling.None ' Parse the file and display each of the nodes. While reader.Read() Select Case reader.NodeType Case XmlNodeType.Element Console.Write("<{0}>", reader.Name) Case XmlNodeType.Text Console.Write(reader.Value) Case XmlNodeType.CDATA Console.Write("<![CDATA[{0}]]>", reader.Value) Case XmlNodeType.ProcessingInstruction Console.Write("<?{0} {1}?>", reader.Name, reader.Value) Case XmlNodeType.Comment Console.Write("<!--{0}-->", reader.Value) Case XmlNodeType.XmlDeclaration Console.Write("<?xml version='1.0'?>") Case XmlNodeType.Document Case XmlNodeType.DocumentType Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value) Case XmlNodeType.EntityReference Console.Write(reader.Name) Case XmlNodeType.EndElement Console.Write("</{0}>", reader.Name) End Select End While Finally If Not (reader Is Nothing) Then reader.Close() End If End Try End Sub 'Main End Class 'Sample [C#] using System; using System.IO; using System.Xml; public class Sample { private const String filename = "items.xml"; public static void Main() { XmlTextReader reader = null; try { // Load the reader with the data file and ignore all white space nodes. reader = new XmlTextReader(filename); reader.WhitespaceHandling = WhitespaceHandling.None; // Parse the file and display each of the nodes. while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: Console.Write("<{0}>", reader.Name); break; case XmlNodeType.Text: Console.Write(reader.Value); break; case XmlNodeType.CDATA: Console.Write("<![CDATA[{0}]]>", reader.Value); break; case XmlNodeType.ProcessingInstruction: Console.Write("<?{0} {1}?>", reader.Name, reader.Value); break; case XmlNodeType.Comment: Console.Write("<!--{0}-->", reader.Value); break; case XmlNodeType.XmlDeclaration: Console.Write("<?xml version='1.0'?>"); break; case XmlNodeType.Document: break; case XmlNodeType.DocumentType: Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value); break; case XmlNodeType.EntityReference: Console.Write(reader.Name); break; case XmlNodeType.EndElement: Console.Write("</{0}>", reader.Name); break; } } } finally { if (reader!=null) reader.Close(); } } } // End class [C++] #using <mscorlib.dll> #using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { XmlTextReader* reader = 0; String* filename = S"items.xml"; try { // Load the reader with the data file and ignore all white space nodes. reader = new XmlTextReader(filename); reader->WhitespaceHandling = WhitespaceHandling::None; // Parse the file and display each of the nodes. while (reader->Read()) { switch (reader->NodeType) { case XmlNodeType::Element: Console::Write(S"<{0}>", reader->Name); break; case XmlNodeType::Text: Console::Write(reader->Value); break; case XmlNodeType::CDATA: Console::Write(S"<![CDATA[{0}]]>", reader->Value); break; case XmlNodeType::ProcessingInstruction: Console::Write(S"<?{0} {1}?>", reader->Name, reader->Value); break; case XmlNodeType::Comment: Console::Write(S"<!--{0}-->", reader->Value); break; case XmlNodeType::XmlDeclaration: Console::Write(S"<?xml version='1.0'?>"); break; case XmlNodeType::Document: break; case XmlNodeType::DocumentType: Console::Write(S"<!DOCTYPE {0} [{1}]", reader->Name, reader->Value); break; case XmlNodeType::EntityReference: Console::Write(reader->Name); break; case XmlNodeType::EndElement: Console::Write(S"</{0}>", reader->Name); break; } } } __finally { if (reader!=0) reader->Close(); } }
[Visual Basic, C#, C++] The sample uses the file items.xml.
<?xml version="1.0"?> <!-- This is a sample XML document --> <!DOCTYPE Items [<!ENTITY number "123">]> <Items> <Item>Test with an entity: &number;</Item> <Item>test with a child element <more/> stuff</Item> <Item>test with a CDATA section <![CDATA[<456>]]> def</Item> <Item>Test with an char entity: A</Item> <!-- Fourteen chars in this element.--> <Item>1234567890ABCD</Item> </Items>
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard
See Also
XmlTextReader Class | XmlTextReader Members | System.Xml Namespace