XNode.IsBefore(XNode) 方法

定义

确定当前节点是否按文档顺序显示在指定节点之前。

public:
 bool IsBefore(System::Xml::Linq::XNode ^ node);
public bool IsBefore (System.Xml.Linq.XNode node);
public bool IsBefore (System.Xml.Linq.XNode? node);
member this.IsBefore : System.Xml.Linq.XNode -> bool
Public Function IsBefore (node As XNode) As Boolean

参数

node
XNode

要比较文档顺序的 XNode

返回

Boolean

如果此节点显示在指定节点之前,则为 true;否则为 false

示例

以下示例使用此方法。

XElement xmlTree = new XElement("Root",  
    new XText("Text content."),  
    new XElement("Child1", "child1 content"),  
    new XElement("Child2", "child2 content"),  
    new XElement("Child3", "child3 content"),  
    new XText("More text content."),  
    new XElement("Child4", "child4 content"),  
    new XElement("Child5", "child5 content")  
);  
XElement child3 = xmlTree.Element("Child3");  
XElement child5 = xmlTree.Element("Child5");  
if (child5.IsBefore(child3))  
    Console.WriteLine("Child5 is before Child3");  
else  
    Console.WriteLine("Child5 is not before Child3");  
Dim xmlTree As XElement = _   
        <Root>Text content.  
            <Child1>child1 content</Child1>  
            <Child2>child2 content</Child2>  
            <Child3>child3 content</Child3>More text content.  
            <Child4>child4 content</Child4>  
            <Child5>child5 content</Child5>  
        </Root>  

Dim child3 As XElement = xmlTree.<Child3>(0)  
Dim child5 As XElement = xmlTree.<Child5>(0)  
If (child5.IsBefore(child3)) Then  
    Console.WriteLine("Child5 is before Child3")  
Else  
    Console.WriteLine("Child5 is not before Child3")  
End If  

该示例产生下面的输出:

Child5 is not before Child3  

注解

存储 XContainer 其子节点作为对象单向链接的列表 XNode 。 这意味着该方法 IsBefore 必须遍历要比较的两个节点的上级,直到找到公共父节点。 然后,它必须遍历公共父节点的子节点列表,以确定要比较的两个节点的顺序。 因此,使用此方法可能会影响性能。

适用于

另请参阅