Partilhar via


XNode.DeepEquals(XNode, XNode) Método

Definição

Compara os valores de dois nós, incluindo os valores de todos os nós descendentes.

public:
 static bool DeepEquals(System::Xml::Linq::XNode ^ n1, System::Xml::Linq::XNode ^ n2);
public static bool DeepEquals (System.Xml.Linq.XNode n1, System.Xml.Linq.XNode n2);
public static bool DeepEquals (System.Xml.Linq.XNode? n1, System.Xml.Linq.XNode? n2);
static member DeepEquals : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> bool
Public Shared Function DeepEquals (n1 As XNode, n2 As XNode) As Boolean

Parâmetros

n1
XNode

O primeiro XNode a ser comparado.

n2
XNode

O segundo XNode a ser comparado.

Retornos

true se os nós forem iguais; caso contrário, false.

Exemplos

O exemplo a seguir usa esse método para comparar duas árvores XML.

XElement xmlTree1 = new XElement("Root",  
    new XAttribute("Att1", 1),  
    new XAttribute("Att2", 2),  
    new XElement("Child1", 1),  
    new XElement("Child2", "some content")  
);  
XElement xmlTree2 = new XElement("Root",  
    new XAttribute("Att1", 1),  
    new XAttribute("Att2", 2),  
    new XElement("Child1", 1),  
    new XElement("Child2", "some content")  
);  
Console.WriteLine(XNode.DeepEquals(xmlTree1, xmlTree2));  
Dim xmlTree1 As XElement = _   
        <Root Att1="1" Att2="2">  
            <Child1>1</Child1>  
            <Child2>some content</Child2>  
        </Root>  

Dim xmlTree2 As XElement = _   
        <Root Att1="1" Att2="2">  
            <Child1>1</Child1>  
            <Child2>some content</Child2>  
        </Root>  

Console.WriteLine(XNode.DeepEquals(xmlTree1, xmlTree2))  

Esse exemplo gera a saída a seguir:

True  

Comentários

Os critérios a seguir determinam se dois nós são iguais:

  • Um null nó é igual a outro null nó, mas diferente de um nónull não.

  • Dois XNode objetos de tipos diferentes nunca são iguais.

  • Dois XText nós serão iguais se contiverem o mesmo texto.

  • Dois XElement nós serão iguais se tiverem o mesmo nome de marca, o mesmo conjunto de atributos com os mesmos valores e (ignorando comentários e instruções de processamento) contiverem duas sequências de comprimento igual de nós de conteúdo iguais.

  • Dois XDocument nós serão iguais se seus nós raiz forem iguais.

  • Dois XComment nós serão iguais se contiverem o mesmo texto de comentário.

  • Dois XProcessingInstruction nós serão iguais se tiverem o mesmo destino e dados.

  • Dois XDocumentType nós serão iguais se o tiverem o mesmo nome, ID pública, ID do sistema e subconjunto interno.

Aplica-se a

Confira também