XObject.NodeType 属性

定义

获取此 XObject 的节点类型。

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

属性值

XObject 的节点类型。

示例

以下示例使用此方法检索各种节点的节点类型。

// Note that XNode uses XmlNodeType, which is in the System.Xml namespace.
XDocument xmlTree = new XDocument(
    new XComment("a comment"),
    new XProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"hello.xsl\""),
    new XElement("Root",
        new XAttribute("Att", "attContent"),
        new XElement("Child1",
            new XCData("CDATA content")
        ),
        new XElement("Child2",
            new XText("Text content")
        )
    )
);

foreach (XNode node in xmlTree.DescendantNodes())
{
    Console.WriteLine(node.NodeType);
    if (node.NodeType == XmlNodeType.Element)
    {
        foreach (XAttribute att in ((XElement)node).Attributes())
            Console.WriteLine(att.NodeType);
    }
}
' Note that XNode uses XmlNodeType, which is in the System.Xml  namespace.
Dim xmlTree As XDocument = _
    <?xml version="1.0"?>
    <!--a comment-->
    <?xml-stylesheet type="text/xsl" href="hello.xsl"?>
    <Root Att="attContent">
        <Child1><![CDATA[CDATA content]]></Child1>
        <Child2>Text content</Child2>
     </Root>

For Each node As XNode In xmlTree.DescendantNodes
    Console.WriteLine(node.NodeType.ToString())
    If node.NodeType = XmlNodeType.Element Then
        For Each att In DirectCast(node, XElement).Attributes
            Console.WriteLine(att.NodeType.ToString())
        Next
    End If
Next

该示例产生下面的输出:

Comment
ProcessingInstruction
Element
Attribute
Element
CDATA
Element
Text

注解

由于派生自 XObject 的所有类都包含 属性 NodeType ,因此可以编写对 的具体 XObject子类集合进行操作的代码。 然后,代码可以测试集合中每个节点的节点类型。

适用于

另请参阅