XNode.DeepEquals(XNode, XNode) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
すべての子孫ノードの値を含む、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
パラメーター
戻り値
ノードが等しい場合は 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 つのノードが同じタグ名を持ち、同じ値を持つ同じ属性セットを持ち、(コメントと処理命令を無視して) 等しいコンテンツ ノードの 2 つの等しい長さのシーケンスが含まれている場合、2 つの XElement ノードは等しくなります。
ルート ノードが等しい場合、2 つの XDocument ノードは等しくなります。
同じコメント テキストが含まれている場合、2 つの XComment ノードは等しくなります。
ターゲットとデータが同じである場合、2 つの XProcessingInstruction ノードは等しくなります。
同じ名前、パブリック ID、システム ID、および内部サブセットを持つ場合、2 つの XDocumentType ノードは等しくなります。