Compartir a través de


XNode.DeepEquals(XNode, XNode) Método

Definición

Compara los valores de dos nodos, incluidos los valores de todos los nodos descendientes.

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

Primer objeto XNode que se va a comparar.

n2
XNode

Segundo objeto XNode que se va a comparar.

Devoluciones

Boolean

true si los nodos son iguales; de lo contrario, false.

Ejemplos

En el ejemplo siguiente se usa este método para comparar dos árboles 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))  

Este ejemplo produce el siguiente resultado:

True  

Comentarios

Los criterios siguientes determinan si dos nodos son iguales:

  • Un null nodo es igual a otro null nodo, pero no es igual a unnull nodo que no es .

  • Dos XNode objetos de tipos diferentes nunca son iguales.

  • Dos XText nodos son iguales si contienen el mismo texto.

  • Dos XElement nodos son iguales si tienen el mismo nombre de etiqueta, el mismo conjunto de atributos con los mismos valores y (ignorando los comentarios y las instrucciones de procesamiento) contienen dos secuencias de longitud igual de nodos de contenido igual.

  • Dos XDocument nodos son iguales si sus nodos raíz son iguales.

  • Dos XComment nodos son iguales si contienen el mismo texto de comentario.

  • Dos XProcessingInstruction nodos son iguales si tienen el mismo destino y los mismos datos.

  • Dos XDocumentType nodos son iguales si tienen el mismo nombre, el identificador público, el identificador del sistema y el subconjunto interno.

Se aplica a

Consulte también