Поделиться через


XText.NodeType Свойство

Определение

Возвращает тип узла для этого узла.

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

Значение свойства

Тип узла. Для объектов XText это значение равно Text.

Примеры

В следующем примере создается XML-дерево, содержащее несколько типов узлов. Затем он выполняет итерацию по дереву, выводя тип узла каждого узла.

Обратите внимание, что Child2 содержит XText узел, неявно преобразованный из содержимого строки.

// 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", "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. Затем код может проверить тип узла каждого узла в коллекции.

Применяется к

См. также раздел