php xmlreader nodetype,XmlNodeReader.NodeType 属性 (System.Xml) | Microsoft Docs

这个示例展示了如何使用XmlNodeReader在.NET中读取XML文档,并根据节点类型(如元素、文本、CDATA等)显示节点内容。代码遍历XML文件,识别不同类型的节点并打印相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取当前节点的类型。Gets the type of the current node.

public:

virtual property System::Xml::XmlNodeType NodeType { System::Xml::XmlNodeType get(); };

public override System.Xml.XmlNodeType NodeType { get; }

member this.NodeType : System.Xml.XmlNodeType

Public Overrides ReadOnly Property NodeType As XmlNodeType

属性值

XmlNodeType 值之一,表示当前节点的类型。One of the XmlNodeType values representing the type of the current node.

示例

下面的示例读取一个 XML 并显示每个节点。The following example reads an XML and displays each of the nodes.

#using

using namespace System;

using namespace System::IO;

using namespace System::Xml;

int main()

{

String^ filename = "items.xml";

XmlNodeReader^ reader = nullptr;

try

{

//Create an XmlNodeReader to read the XmlDocument.

XmlDocument^ doc = gcnew XmlDocument;

doc->Load( filename );

reader = gcnew XmlNodeReader( doc );

//Parse the file and display each of the nodes.

while ( reader->Read() )

{

switch ( reader->NodeType )

{

case XmlNodeType::Element:

Console::Write( "", reader->Name );

break;

case XmlNodeType::Text:

Console::Write( reader->Value );

break;

case XmlNodeType::CDATA:

Console::Write( reader->Value );

break;

case XmlNodeType::ProcessingInstruction:

Console::Write( "{0} {1}?>", reader->Name, reader->Value );

break;

case XmlNodeType::Comment:

Console::Write( "", reader->Value );

break;

case XmlNodeType::XmlDeclaration:

Console::Write( "<?xml version='1.0'?>" );

break;

case XmlNodeType::Document:

break;

case XmlNodeType::EndElement:

Console::Write( "{0}>", reader->Name );

break;

}

}

}

finally

{

if ( reader != nullptr )

reader->Close();

}

}using System;

using System.IO;

using System.Xml;

public class Sample

{

private const String filename = "items.xml";

public static void Main()

{

XmlNodeReader reader = null;

try

{

//Create an XmlNodeReader to read the XmlDocument.

XmlDocument doc = new XmlDocument();

doc.Load(filename);

reader = new XmlNodeReader(doc);

//Parse the file and display each of the nodes.

while (reader.Read())

{

switch (reader.NodeType)

{

case XmlNodeType.Element:

Console.Write("", reader.Name);

break;

case XmlNodeType.Text:

Console.Write(reader.Value);

break;

case XmlNodeType.CDATA:

Console.Write(reader.Value);

break;

case XmlNodeType.ProcessingInstruction:

Console.Write("{0} {1}?>", reader.Name, reader.Value);

break;

case XmlNodeType.Comment:

Console.Write("", reader.Value);

break;

case XmlNodeType.XmlDeclaration:

Console.Write("<?xml version='1.0'?>");

break;

case XmlNodeType.Document:

break;

case XmlNodeType.EndElement:

Console.Write("{0}>", reader.Name);

break;

}

}

}

finally

{

if (reader!=null)

reader.Close();

}

}

} // End classImports System.IO

Imports System.Xml

Public Class Sample

Private Const filename As String = "items.xml"

Public Shared Sub Main()

Dim reader As XmlNodeReader = Nothing

Try

'Create an XmlNodeReader to read the XmlDocument.

Dim doc As New XmlDocument()

doc.Load(filename)

reader = New XmlNodeReader(doc)

'Parse the file and display each of the nodes.

While reader.Read()

Select Case reader.NodeType

Case XmlNodeType.Element

Console.Write("", reader.Name)

Case XmlNodeType.Text

Console.Write(reader.Value)

Case XmlNodeType.CDATA

Console.Write(reader.Value)

Case XmlNodeType.ProcessingInstruction

Console.Write("{0} {1}?>", reader.Name, reader.Value)

Case XmlNodeType.Comment

Console.Write("", reader.Value)

Case XmlNodeType.XmlDeclaration

Console.Write("<?xml version='1.0'?>")

Case XmlNodeType.Document

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

End Class

该示例使用文件 items.xml 作为输入。The example uses the file, items.xml, as input.

]>

Test with an entity: &number;

test with a child element stuff

test with a CDATA section ]]> def

Test with a char entity: A

1234567890ABCD

注解

备注

在 .NET Framework 2.0 中,建议的做法是 XmlReader 使用 XmlReaderSettings 类和方法创建实例 Create 。In the .NET Framework 2.0, the recommended practice is to create XmlReader instances using the XmlReaderSettings class and the Create method. 这允许您充分利用 .NET Framework 中引入的所有新功能。This allows you to take full advantage of all the new features introduced in the .NET Framework. 有关详细信息,请参阅 "参考" 页中的 "备注" 部分 XmlReader 。For more information, see the Remarks section in the XmlReader reference page.

适用于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值