XNode.DeepEquals(XNode, XNode) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
比較兩個節點的值,包括所有子系節點的值。
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
。
範例
下列範例會使用這個方法來比較兩個 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
備註
下列準則會判斷兩個節點是否相等:
節點
null
等於另一個null
節點,但與非null
節點不相等。不同類型的兩 XNode 個物件永遠不相等。
如果兩 XText 個節點包含相同的文字,則兩個節點相等。
XElement如果兩個節點具有相同的標籤名稱、具有相同值的相同屬性集,而且 (忽略批註和處理指示,) 包含兩個相等長度的內容節點序列。
如果根節點相等,則兩 XDocument 個節點相等。
XComment如果兩個節點包含相同的註解文字,則兩個節點相等。
XProcessingInstruction如果兩個節點具有相同的目標和資料,則兩個節點相等。
如果 具有相同的名稱、公用識別碼、系統識別碼和內部子集,則兩 XDocumentType 個節點相等。