XNodeDocumentOrderComparer.Compare(XNode, XNode) Metoda
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Porównuje dwa węzły w celu określenia względnej kolejności dokumentów.
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);
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
Element Int32 , który zawiera wartość 0, jeśli węzły są równe; -1, jeśli x
wartość jest wcześniejsza y
; 1, jeśli x
wartość jest późniejsza niż y
.
Dwa węzły nie mają wspólnego przodka.
W poniższym przykładzie użyto tej klasy do porównania kolejności dokumentów dla dwóch węzłów.
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");
Ten przykład generuje następujące wyniki:
Child3 is before Child5
Zalecamy, aby zamiast używać tej klasy bezpośrednio, należy użyć InDocumentOrder metody . Ta klasa jest używana wewnętrznie przez tę metodę.