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子类集合进行操作的代码。 然后,代码可以测试集合中每个节点的节点类型。

适用于

另请参阅