XNode.DeepEquals Method (XNode, XNode)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Compares the values of two nodes, including the values of all descendant nodes.

Namespace:   System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

static member DeepEquals : 
        n1:XNode *
        n2:XNode -> bool


Type: System.Xml.Linq.XNode

The first XNode to compare.

Type: System.Xml.Linq.XNode

The second XNode to compare.

Return Value

Type: System.Boolean

true if the nodes are equal; otherwise false.

The following criteria determine whether two nodes are equal:

  • A null node is equal to another null 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 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.

No code example is currently available or this language may not be supported.

This example produces the following output:


Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top