XNodeEqualityComparer.Equals(XNode, XNode) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Compares the values of two nodes.
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
Parameters
Returns
A Boolean indicating if the nodes are equal.
Implements
Examples
The following example uses this class to compare two nodes.
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));
This example produces the following output:
True
False
Remarks
The following criteria determine whether two nodes are equal:
A
null
node is equal to anothernull
node but unequal to a non-null
node.Two XNode objects of different types are never equal.
Two XText nodes are equal if they contain the same text.
Two XElement nodes are equal if they have the same tag name, the same set of attributes with the same values, and (ignoring comments and processing instructions), contain two equal-length sequences of pairwise equal content nodes.
Two XDocument objects are equal if their root nodes are equal.
Two XComment nodes are equal if they contain the same comment text.
Two XProcessingInstruction nodes are equal if they have the same target and data.
Two XDocumentType nodes are equal if the have the same name, public ID, system ID, and internal subset.