XNodeDocumentOrderComparer.Compare(XNode, XNode) Método

Definição

Compara dois nós para determinar a ordem relativa dos seus documentos.

public:
 virtual int Compare(System::Xml::Linq::XNode ^ x, System::Xml::Linq::XNode ^ y);
public int Compare(System.Xml.Linq.XNode x, System.Xml.Linq.XNode y);
abstract member Compare : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> int
override this.Compare : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> int
Public Function Compare (x As XNode, y As XNode) As Integer

Parâmetros

x
XNode

O primeiro XNode a comparar.

y
XNode

O segundo XNode para comparar.

Devoluções

An Int32 que contém 0 se os nós forem iguais; -1 se x for antes yde ; 1 se x for após y.

Implementações

Exceções

Os dois nós não partilham um ancestral comum.

Exemplos

O exemplo seguinte utiliza esta classe para comparar a ordem dos documentos para dois nós.

XElement xmlTree = new XElement("Root",
    new XText("Text content."),
    new XElement("Child1", "child1 content"),
    new XElement("Child2", "child2 content"),
    new XElement("Child3", "child3 content"),
    new XText("More text content."),
    new XElement("Child4", "child4 content"),
    new XElement("Child5", "child5 content")
);
XElement child3 = xmlTree.Element("Child3");
XElement child5 = xmlTree.Element("Child5");
XNodeDocumentOrderComparer documentOrderComparer = new XNodeDocumentOrderComparer();
int val = documentOrderComparer.Compare(child3, child5);
if (val == 0)
    Console.WriteLine("Child3 is same as Child5");
else if (val < 0)
    Console.WriteLine("Child3 is before Child5");
else
    Console.WriteLine("Child3 is after Child5");

Este exemplo produz a seguinte saída:

Child3 is before Child5

Observações

Recomendamos que, em vez de usar esta classe diretamente, utilize o InDocumentOrder método. Esta classe é usada internamente por esse método.

Aplica-se a

Ver também