XmlTextReader.NodeType 属性
获取当前节点的类型。
**命名空间:**System.Xml
**程序集:**System.Xml(在 system.xml.dll 中)
语法
声明
Public Overrides ReadOnly Property NodeType As XmlNodeType
用法
Dim instance As XmlTextReader
Dim value As XmlNodeType
value = instance.NodeType
public override XmlNodeType NodeType { get; }
public:
virtual property XmlNodeType NodeType {
XmlNodeType get () override;
}
/** @property */
public XmlNodeType get_NodeType ()
public override function get NodeType () : XmlNodeType
属性值
XmlNodeType 值之一,表示当前节点的类型。
备注
提示
在 Microsoft .NET Framework 2.0 版 版本中,推荐的做法是使用 System.Xml.XmlReader.Create 方法创建 XmlReader 实例。这使您可以充分利用此版本中引入的新功能。有关更多信息,请参见 创建 XML 读取器。
此属性从不返回以下 XmlNodeType 类型:Document、DocumentFragment、Entity、EndEntity 或 Notation。
示例
下面的示例读取 XML 文件并显示每个节点。
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
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
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlTextReader^ reader = nullptr;
String^ filename = "items.xml";
try
{
// Load the reader with the data file and ignore all white space nodes.
reader = gcnew 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 != nullptr )
reader->Close();
}
}
import System.*;
import System.IO.*;
import System.Xml.*;
public class Sample
{
private static String fileName = "items.xml";
public static void main(String[] args)
{
XmlTextReader reader = null;
try {
// Load the reader with the data file and ignore
//all white space nodes.
reader = new XmlTextReader(fileName);
reader.set_WhitespaceHandling(WhitespaceHandling.None);
// Parse the file and display each of the nodes.
while(reader.Read()) {
switch(reader.get_NodeType() ) {
case XmlNodeType.Element :
Console.Write("<{0}>", reader.get_Name());
break;
case XmlNodeType.Text :
Console.Write(reader.get_Value());
break;
case XmlNodeType.CDATA :
Console.Write("<![CDATA[{0}]]>", reader.get_Value());
break;
case XmlNodeType.ProcessingInstruction :
Console.Write("<?{0} {1}?>", reader.get_Name(),
reader.get_Value());
break;
case XmlNodeType.Comment :
Console.Write("<!--{0}-->", reader.get_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.get_Name(),
reader.get_Value());
break;
case XmlNodeType.EntityReference :
Console.Write(reader.get_Name());
break;
case XmlNodeType.EndElement :
Console.Write("</{0}>", reader.get_Name());
break;
}
}
}
finally {
if (reader != null) {
reader.Close();
}
}
} //main
} // End class Sample
该示例使用文件 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>
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0
请参见
参考
XmlTextReader 类
XmlTextReader 成员
System.Xml 命名空间