XNode.DeepEquals(XNode, XNode) 方法

定義

比較兩個節點的值,包括所有子系節點的值。

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

要比較的第二個 XNode

傳回

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 個節點相等。

適用於

另請參閱