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
參數
傳回
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 個節點相等。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應