XNode.DeepEquals(XNode, XNode) Méthode

Définition

Compare les valeurs de deux nœuds, y compris les valeurs de tous les nœuds descendants.

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

Paramètres

n1
XNode

Premier XNode à comparer.

n2
XNode

Deuxième XNode à comparer.

Retours

Boolean

true si les nœuds sont égaux ; sinon false.

Exemples

L’exemple suivant utilise cette méthode pour comparer deux arborescences 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))  

Cet exemple produit la sortie suivante :

True  

Remarques

Les critères suivants déterminent si deux nœuds sont égaux :

  • Un null nœud est égal à un autre null nœud, mais inégaux à un nœud non-nœudnull .

  • Deux XNode objets de types différents ne sont jamais égaux.

  • Deux XText nœuds sont égaux s’ils contiennent le même texte.

  • Deux XElement nœuds sont égaux s’ils ont le même nom de balise, le même ensemble d’attributs avec les mêmes valeurs et (en ignorant les commentaires et les instructions de traitement) contiennent deux séquences de longueur égales de nœuds de contenu égal.

  • Deux XDocument nœuds sont égaux si leurs nœuds racines sont égaux.

  • Deux XComment nœuds sont égaux s’ils contiennent le même texte de commentaire.

  • Deux XProcessingInstruction nœuds sont égaux s’ils ont la même cible et les mêmes données.

  • Deux XDocumentType nœuds sont égaux si le même nom, l’ID public, l’ID système et le sous-ensemble interne sont identiques.

S’applique à

Voir aussi