Bahasa

XNode.CompareDocumentOrder(XNode, XNode) Metode

Definisi

Membandingkan dua simpul untuk menentukan urutan dokumen XML relatifnya.

public:
 static int CompareDocumentOrder(System::Xml::Linq::XNode ^ n1, System::Xml::Linq::XNode ^ n2);
public static int CompareDocumentOrder(System.Xml.Linq.XNode n1, System.Xml.Linq.XNode n2);
public static int CompareDocumentOrder(System.Xml.Linq.XNode? n1, System.Xml.Linq.XNode? n2);
static member CompareDocumentOrder : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> int
Public Shared Function CompareDocumentOrder (n1 As XNode, n2 As XNode) As Integer

Parameter

n1
XNode

Pertama XNode untuk membandingkan.

n2
XNode

Kedua XNode untuk membandingkan.

Mengembalikan

Yang int berisi 0 jika node sama; -1 jika n1 sebelum n2; 1 jika n1 setelah n2.

Pengecualian

Dua simpul tidak berbagi leluhur umum.

Contoh

Contoh berikut menggunakan metode ini.

XElement xmlTree = new XElement("Root",
    new XElement("Child1",
        new XElement("GrandChild1", 1),
        new XElement("GrandChild2", 2),
        new XElement("GrandChild3", 3)
    ),
    new XElement("Child2",
        new XElement("GrandChild4", 4),
        new XElement("GrandChild5", 5),
        new XElement("GrandChild6", 6)
    )
);
XElement el1 = xmlTree.Descendants("GrandChild2").First();
XElement el2 = xmlTree.Descendants("GrandChild6").First();
if (XElement.CompareDocumentOrder(el1, el2) == 0)
    Console.WriteLine("Compared elements are the same element");
else if (XElement.CompareDocumentOrder(el1, el2) > 0)
    Console.WriteLine("el1 is after el2");
else
    Console.WriteLine("el1 is before el2");
Dim xmlTree As XElement = _
        <Root>
            <Child1>
                <GrandChild1>1</GrandChild1>
                <GrandChild2>2</GrandChild2>
                <GrandChild3>3</GrandChild3>
            </Child1>
            <Child2>
                <GrandChild4>4</GrandChild4>
                <GrandChild5>5</GrandChild5>
                <GrandChild6>6</GrandChild6>
            </Child2>
        </Root>

Dim el1 As XElement = xmlTree...<GrandChild2>(0)
Dim el2 As XElement = xmlTree...<GrandChild6>(0)

If (XElement.CompareDocumentOrder(el1, el2) = 0) Then
    Console.WriteLine("Compared elements are the same element")
ElseIf (XElement.CompareDocumentOrder(el1, el2) > 0) Then
    Console.WriteLine("el1 is after el2")
Else
    Console.WriteLine("el1 is before el2")
End If

Contoh ini menghasilkan output berikut:

el1 is before el2

Keterangan

Menyimpan XContainer simpul anaknya sebagai daftar objek yang ditautkan dengan nyanyian XNode . Ini berarti bahwa CompareDocumentOrder metode harus melintasi leluhur dari dua node yang dibandingkan sampai menemukan induk umum. Kemudian harus melintasi daftar simpul anak induk umum untuk menentukan urutan dua node yang dibandingkan. Oleh karena itu, menggunakan metode ini dapat memengaruhi performa Anda.

Berlaku untuk

Lihat juga