Udostępnij za pośrednictwem


XNode.DeepEquals(XNode, XNode) Metoda

Definicja

Porównuje wartości dwóch węzłów, w tym wartości wszystkich węzłów podrzędnych.

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

Parametry

n1
XNode

Pierwszy XNode do porównania.

n2
XNode

Drugi XNode do porównania.

Zwraca

Boolean

true jeśli węzły są równe; w przeciwnym razie false.

Przykłady

W poniższym przykładzie użyto tej metody do porównania dwóch drzew 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))  

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

True  

Uwagi

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

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

  • 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 o tych samych wartościach, a (ignorując komentarze i instrukcje przetwarzania) zawierają dwie sekwencje równej długości równych węzłów zawartości.

  • Dwa XDocument węzły 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 podzestaw wewnętrzny.

Dotyczy

Zobacz też