XNode.DeepEquals(XNode, XNode) 메서드

정의

모든 하위 노드의 값을 포함하여 두 노드의 값을 비교합니다.Compares the values of two nodes, including the values of all descendant nodes.

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입니다.The first XNode to compare.

n2
XNode

비교할 두 번째 XNode입니다.The second XNode to compare.

반환

Boolean

노드가 같으면 true이고, 그렇지 않으면 false입니다.true if the nodes are equal; otherwise false.

예제

다음 예제에서는이 메서드를 사용 하 여 두 XML 트리를 비교 합니다.The following example uses this method to compare two XML trees.

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

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

True  

설명

다음 조건에서는 두 노드가 동일한 지 여부를 확인 합니다.The following criteria determine whether two nodes are equal:

  • null노드가 다른 null 노드와 동일 하지만 비 노드와 동일 하지 않습니다 null .A null node is equal to another null node but unequal to a non-null node.

  • XNode다른 형식의 두 개체는 같지 않습니다.Two XNode objects of different types are never equal.

  • XText 노드는 동일한 텍스트를 포함 하는 경우 동일 합니다.Two XText nodes are equal if they contain the same text.

  • XElement 노드는 동일한 태그 이름을 사용 하 고 동일한 값을 가진 동일한 특성 집합을 가지 며 주석과 처리 명령을 무시 하 고 동일한 콘텐츠 노드의 두 개의 동일한 길이 시퀀스를 포함 하는 경우에 동일 합니다.Two XElement nodes are equal if they have the same tag name, the same set of attributes with the same values, and (ignoring comments and processing instructions) contain two equal length sequences of equal content nodes.

  • XDocument루트 노드가 동일한 경우 두 노드는 동일 합니다.Two XDocument nodes are equal if their root nodes are equal.

  • XComment 노드는 동일한 주석 텍스트를 포함 하는 경우 동일 합니다.Two XComment nodes are equal if they contain the same comment text.

  • XProcessingInstruction동일한 대상과 데이터가 있는 경우 두 노드는 동일 합니다.Two XProcessingInstruction nodes are equal if they have the same target and data.

  • XDocumentType에 같은 이름, 공용 id, 시스템 ID 및 내부 하위 집합이 있는 경우 두 노드가 동일 합니다.Two XDocumentType nodes are equal if the have the same name, public ID, system ID, and internal subset.

적용 대상