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

Параметры

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

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

True  

Комментарии

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

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

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

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

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

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

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

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

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

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

Продукт Версии
.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

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