Freigeben über


XNode.DeepEquals(XNode, XNode) Methode

Definition

Vergleicht die Werte von zwei Knoten, einschließlich der Werte aller Nachfolgerknoten.

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

Parameter

n1
XNode

Der erste zu vergleichende XNode.

n2
XNode

Der zweite zu vergleichende XNode.

Gibt zurück

Boolean

true, wenn die Knoten gleich sind, andernfalls false.

Beispiele

Im folgenden Beispiel wird diese Methode verwendet, um zwei XML-Bäume zu vergleichen.

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))  

Dieses Beispiel erzeugt die folgende Ausgabe:

True  

Hinweise

Die folgenden Kriterien bestimmen, ob zwei Knoten gleich sind:

  • Ein null Knoten ist gleich einem anderen null Knoten, aber ungleich zu einemnull Nichtknoten.

  • Zwei XNode Objekte verschiedener Typen sind nie gleich.

  • Zwei XText Knoten sind gleich, wenn sie denselben Text enthalten.

  • Zwei XElement Knoten sind gleich, wenn sie den gleichen Tagnamen haben, dieselbe Gruppe von Attributen mit den gleichen Werten und (ignorieren von Kommentaren und Verarbeitungsanweisungen) zwei gleich lange Sequenzen von gleichen Inhaltsknoten enthalten.

  • Zwei XDocument Knoten sind gleich, wenn ihre Stammknoten gleich sind.

  • Zwei XComment Knoten sind gleich, wenn sie den gleichen Kommentartext enthalten.

  • Zwei XProcessingInstruction Knoten sind gleich, wenn sie das gleiche Ziel und die gleichen Daten haben.

  • Zwei XDocumentType Knoten sind gleich, wenn die gleiche Name, öffentliche ID, System-ID und interne Teilmenge vorhanden sind.

Gilt für

Siehe auch