XNode.DeepEquals Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Compares the values of two nodes, including the values of all descendant nodes.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Parameters
- n1
- Type: System.Xml.Linq.XNode
The first XNode to compare.
- n2
- Type: System.Xml.Linq.XNode
The second XNode to compare.
The following criteria determine whether two nodes are equal:
A Nothing node is equal to another Nothing node but unequal to a non-Nothing 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 equal content nodes.
Two XDocument nodes 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.
The following example uses this method to compare two XML trees.
Dim output As New StringBuilder 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> output.Append(XNode.DeepEquals(xmlTree1, xmlTree2)) output.Append(Environment.NewLine) OutputTextBlock.Text = output.ToString()