XNodeEqualityComparer.Equals(XNode, XNode) メソッド

定義

2 つのノードの値を比較します。Compares the values of two nodes.

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

比較対象となる最初の XNodeThe first XNode to compare.

y
XNode

比較対象となる 2 番目の XNodeThe second XNode to compare.

戻り値

ノードが等しいかどうかを示す BooleanA Boolean indicating if the nodes are equal.

実装

次の例では、このクラスを使用して2つのノードを比較します。The following example uses this class to compare two nodes.

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

この例を実行すると、次の出力が生成されます。This example produces the following output:

True  
False  

注釈

次の条件は、2つのノードが等しいかどうかを判断します。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.

  • 異なる型の2つの XNode オブジェクトは等しくありません。Two XNode objects of different types are never equal.

  • 同じテキストが含まれている場合、2つの XText ノードは等しいことになります。Two XText nodes are equal if they contain the same text.

  • 2つの XElement ノードが等しい場合は、同じタグ名、同じ値を持つ属性のセット、および (コメントと処理命令を除いて) 2 つのペアに等しいコンテンツノードの2つの同じ長さのシーケンスが含まれています。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 pairwise equal content nodes.

  • ルートノードが等しい場合、2つの XDocument オブジェクトは等しいことになります。Two XDocument objects are equal if their root nodes are equal.

  • 同じコメントテキストが含まれている場合、2つの XComment ノードは等しいことになります。Two XComment nodes are equal if they contain the same comment text.

  • ターゲットとデータが同じである場合、2つの XProcessingInstruction ノードは等しいことになります。Two XProcessingInstruction nodes are equal if they have the same target and data.

  • に同じ名前、パブリック ID、システム ID、および内部サブセットがある場合、2つの XDocumentType ノードは等しいことになります。Two XDocumentType nodes are equal if the have the same name, public ID, system ID, and internal subset.

適用対象

こちらもご覧ください