Partager via


XNodeEqualityComparer.Equals(XNode, XNode) Méthode

Définition

Compare les valeurs de deux nœuds.

public:
 virtual bool Equals(System::Xml::Linq::XNode ^ x, System::Xml::Linq::XNode ^ y);
public bool Equals (System.Xml.Linq.XNode x, System.Xml.Linq.XNode y);
public bool Equals (System.Xml.Linq.XNode? x, System.Xml.Linq.XNode? y);
override this.Equals : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> bool
Public Function Equals (x As XNode, y As XNode) As Boolean

Paramètres

x
XNode

Premier XNode à comparer.

y
XNode

Deuxième XNode à comparer.

Retours

Boolean indiquant si les nœuds sont égaux.

Implémente

Exemples

L’exemple suivant utilise cette classe pour comparer deux nœuds.

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")  
);  
XNodeEqualityComparer equalityComparer = new XNodeEqualityComparer();  
Console.WriteLine(equalityComparer.Equals(xmlTree1, xmlTree2));  
xmlTree2.Add(new XElement("NewChild", "new content"));  
Console.WriteLine(equalityComparer.Equals(xmlTree1, xmlTree2));  

Cet exemple produit la sortie suivante :

True  
False  

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 autrenull nœud.

  • 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 égale de nœuds de contenu égal au niveau de la paire.

  • Deux XDocument objets sont égaux si leurs nœuds racine 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 ont le même nom, l’ID public, l’ID système et le même sous-ensemble interne.

S’applique à

Voir aussi