XNodeEqualityComparer.Equals(XNode, XNode) 메서드

정의

두 노드의 값을 비교합니다.

public:
 virtual bool Equals(System::Xml::Linq::XNode ^ x, System::Xml::Linq::XNode ^ y);
public bool Equals(System.Xml.Linq.XNode x, System.Xml.Linq.XNode y);
public bool Equals(System.Xml.Linq.XNode? x, System.Xml.Linq.XNode? y);
override this.Equals : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> bool
Public Function Equals (x As XNode, y As XNode) As Boolean

매개 변수

x
XNode

비교할 첫 번째 XNode 입니다.

y
XNode

비교할 두 번째 XNode 입니다.

반품

Boolean 노드가 같은지 여부를 나타내는 값입니다.

구현

예제

다음 예제에서는 이 클래스를 사용하여 두 노드를 비교합니다.

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")
);
XNodeEqualityComparer equalityComparer = new XNodeEqualityComparer();
Console.WriteLine(equalityComparer.Equals(xmlTree1, xmlTree2));
xmlTree2.Add(new XElement("NewChild", "new content"));
Console.WriteLine(equalityComparer.Equals(xmlTree1, xmlTree2));

이 예제는 다음과 같은 출력을 생성합니다.

True
False

설명

다음 조건은 두 노드가 같은지 여부를 결정합니다.

  • null 노드는 다른 null 노드와 같지만 비노드null 노드와 동일하지 않습니다.

  • 서로 다른 형식의 두 XNode 개체는 같지 않습니다.

  • XText 노드는 동일한 텍스트를 포함하는 경우 동일합니다.

  • XElement 노드는 동일한 태그 이름, 동일한 값을 가진 동일한 특성 집합 및 (주석 및 처리 명령을 무시) 쌍을 이루는 동일한 콘텐츠 노드의 두 개의 동일한 길이 시퀀스를 포함하는 경우 같습니다.

  • 루트 노드가 같으면 두 XDocument 개체가 같습니다.

  • XComment 노드는 동일한 주석 텍스트를 포함하는 경우 동일합니다.

  • XProcessingInstruction 노드는 동일한 대상 및 데이터가 있는 경우 동일합니다.

  • 이름, 공용 ID, 시스템 ID 및 내부 하위 집합이 같으면 두 XDocumentType 노드가 같습니다.

적용 대상

추가 정보