Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

XNodeEqualityComparer.Equals Method (XNode, XNode)

Compares the values of two nodes.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)
public bool Equals(
	XNode x,
	XNode y
)

Parameters

x
Type: System.Xml.Linq.XNode

The first XNode to compare.

y
Type: System.Xml.Linq.XNode

The second XNode to compare.

Return Value

Type: System.Boolean
A Boolean indicating if the nodes are equal.

Implements

IEqualityComparer<T>.Equals(T, T)

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 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.

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

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.