XNode.IsBefore(XNode) Método

Definição

Determina se o nó atual aparece antes de um nó especificado com relação à ordem do documento.Determines if the current node appears before a specified node in terms of document order.

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

Parâmetros

node
XNode

O XNode a ser comparado quanto à ordem do documento.The XNode to compare for document order.

Retornos

Boolean

true se esse nó aparece antes do nó especificado; caso contrário, false.true if this node appears before the specified node; otherwise false.

Exemplos

O exemplo a seguir usa esse método.The following example uses this method.

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  

Esse exemplo gera a saída a seguir:This example produces the following output:

Child5 is not before Child3  

Comentários

O XContainer armazena seus nós filho como uma lista de objetos vinculada individualmente XNode .The XContainer stores its child nodes as a singly-linked list of XNode objects. Isso significa que o IsBefore método deve atravessar os ancestrais dos dois nós que estão sendo comparados até encontrar o pai comum.This means that the IsBefore method must traverse the ancestors of the two nodes being compared until it finds the common parent. Em seguida, ele deve atravessar a lista dos nós filho do pai comum para determinar a ordem dos dois nós que estão sendo comparados.Then it must traverse the list of the common parent's child nodes to determine the order of the two nodes being compared. Portanto, o uso desse método pode afetar o desempenho.Therefore, using this method might affect your performance.

Aplica-se a