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

示例代码演示了如何使用XmlReader类读取XML文件并显示不同类型的节点,如元素、文本、注释等。在读取过程中,如果在异步操作未完成时调用方法,将抛出InvalidOperationException。
摘要由CSDN通过智能技术生成

当在派生类中被重写时,获取当前节点的类型。When overridden in a derived class, gets the type of the current node.

public:

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

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

member this.NodeType : System.Xml.XmlNodeType

Public MustOverride ReadOnly Property NodeType As XmlNodeType

属性值

指定当前节点的类型的枚举值之一。One of the enumeration values that specify the type of the current node.

例外

在上一次异步操作完成之前调用了 XmlReader 方法。An XmlReader method was called before a previous asynchronous operation finished. 在此情况下,会引发 InvalidOperationException 并显示消息“异步操作已在进行中。”In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

示例

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

XmlReaderSettings settings = new XmlReaderSettings();

settings.DtdProcessing = DtdProcessing.Parse;

XmlReader reader = XmlReader.Create("items.xml", settings);

reader.MoveToContent();

// 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.DocumentType:

Console.Write("0} [{1}]", reader.Name, reader.Value);

break;

case XmlNodeType.EntityReference:

Console.Write(reader.Name);

break;

case XmlNodeType.EndElement:

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

break;

}

}Dim settings As New XmlReaderSettings()

settings.DtdProcessing = DtdProcessing.Parse

Dim reader As XmlReader = XmlReader.Create("items.xml", settings)

reader.MoveToContent()

' 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.DocumentType

Console.Write("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

该示例使用 items.xml 文件。The sample uses the items.xml file.

]>

Test with an entity: &number;

Test with a child element stuff

Test with a CDATA section ]]> def

Test with a char entity: A

1234567890ABCD

适用于

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值