XNodeEqualityComparer.Equals(XNode, XNode) Metoda

Definicja

Porównuje wartości dwóch węzłów.

C#
public bool Equals (System.Xml.Linq.XNode x, System.Xml.Linq.XNode y);
C#
public bool Equals (System.Xml.Linq.XNode? x, System.Xml.Linq.XNode? y);

Parametry

x
XNode

Pierwszy XNode do porównania.

y
XNode

Drugi XNode do porównania.

Zwraca

Boolean

Wartość wskazująca Boolean , czy węzły są równe.

Implementuje

Przykłady

W poniższym przykładzie użyto tej klasy do porównania dwóch węzłów.

C#
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));  

Ten przykład generuje następujące wyniki:

True  
False  

Uwagi

Następujące kryteria określają, czy dwa węzły są równe:

  • Węzeł null jest równy innemu węzłowi, ale nierówny do węzła innego null``null niż węzeł.

  • Dwa XNode obiekty różnych typów nigdy nie są równe.

  • Dwa XText węzły są równe, jeśli zawierają ten sam tekst.

  • Dwa XElement węzły są równe, jeśli mają taką samą nazwę tagu, ten sam zestaw atrybutów z tymi samymi wartościami i (ignorując komentarze i instrukcje przetwarzania), zawierają dwie sekwencje parowania równej zawartości węzłów.

  • Dwa XDocument obiekty są równe, jeśli ich węzły główne są równe.

  • Dwa XComment węzły są równe, jeśli zawierają ten sam tekst komentarza.

  • Dwa XProcessingInstruction węzły są równe, jeśli mają ten sam element docelowy i dane.

  • Dwa XDocumentType węzły są równe, jeśli mają taką samą nazwę, identyfikator publiczny, identyfikator systemu i wewnętrzny podzestaw.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Zobacz też