XNode.DeepEquals(XNode, XNode) メソッド

定義

すべての子孫ノードの値を含む、2 つのノードの値を比較します。

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

比較する 2 つ目の XNode

返品

true ノードが等しい場合。それ以外の場合は false

次の例では、このメソッドを使用して 2 つの 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

注釈

次の条件は、2 つのノードが等しいかどうかを決定します。

  • null ノードは別のnull ノードと等しいですが、null以外のノードと等しくありません。

  • 異なる型の 2 つの XNode オブジェクトが等しいことはありません。

  • 2 つの XText ノードに同じテキストが含まれている場合は等しくなります。

  • 2 つの XElement ノードが同じタグ名を持ち、同じ値を持つ同じ属性セットを持ち、(コメントと処理命令を無視して) 等しいコンテンツ ノードの 2 つの等しい長さのシーケンスを含む場合は、等しくなります。

  • ルート ノードが等しい場合、2 つの XDocument ノードが等しくなります。

  • 2 つの XComment ノードに同じコメント テキストが含まれている場合は等しくなります。

  • ターゲットとデータが同じ場合、2 つの XProcessingInstruction ノードは等しくなります。

  • 同じ名前、パブリック ID、システム ID、および内部サブセットを持つ場合、2 つの XDocumentType ノードは等しくなります。

適用対象

こちらもご覧ください