XNodeEqualityComparer.Equals(XNode, XNode) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
比較兩個節點的數值。
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);
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
參數
傳回
A Boolean 表示節點是否相等。
實作
範例
以下範例使用此類別來比較兩個節點。
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));
此範例會產生下列輸出:
True
False
備註
以下標準判斷兩個節點是否相等:
節點
null等於另一個null節點,但不等於非節點null。兩種 XNode 不同類型的物體永遠不會相等。
若兩個 XText 節點包含相同文字,則稱它們相等。
若兩個 XElement 節點擁有相同的標籤名稱、相同的屬性集合及相同值,且(忽略註解與處理指令)包含兩個長度相等且內容相等的節點序列,則稱它們相等。
若兩個 XDocument 物件的根節點相等,則稱它們相等。
若兩個 XComment 節點包含相同的註解文字,則稱它們相等。
若兩個 XProcessingInstruction 節點擁有相同的目標和資料,則它們相等。
若兩個 XDocumentType 節點名稱、公共 ID、系統 ID 及內部子集相同,則兩者相等。