XNode.DeepEquals(XNode, XNode) Метод

Определение

Сравнивает значения двух узлов, включая значения всех узлов-потомков.

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

Параметры

n1
XNode

Первый экземпляр XNode для сравнения.

n2
XNode

Второй экземпляр XNode для сравнения.

Возвращаемое значение

Boolean

Значение true, если узлы равны; в противном случае — значение false.

Примеры

В следующем примере этот метод используется для сравнения двух 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))  

В этом примере выводятся следующие данные:

True  

Комментарии

Следующие критерии определяют, равны ли два узла:

  • Узел null равен другому null узлу, но не равен узлу, отличному от узлаnull .

  • Два XNode объекта разных типов никогда не равны.

  • Два XText узла равны, если они содержат один и тот же текст.

  • Два XElement узла равны, если они имеют одинаковое имя тега, один набор атрибутов с одинаковыми значениями, и (игнорируя комментарии и инструкции по обработке), содержат две последовательности одинаковой длины для одинаковых узлов содержимого.

  • Два XDocument узла равны, если их корневые узлы равны.

  • Два XComment узла равны, если они содержат один и тот же текст примечания.

  • Два XProcessingInstruction узла равны, если они имеют одинаковый целевой объект и данные.

  • Два XDocumentType узла равны, если имеют одинаковое имя, открытый идентификатор, идентификатор системы и внутреннее подмножество.

Применяется к

См. также раздел