次の方法で共有


XNodeDocumentOrderComparer.Compare(XNode, XNode) メソッド

定義

2 つのノードを比較してそれらの相対的なドキュメント順を比較します。

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

パラメーター

x
XNode

比較対象となる、最初の XNode

y
XNode

比較対象となる 2 番目の XNode

戻り値

Int32

ノードが等しい場合には 0 を格納する Int32xy より前の場合には -1。xy より後ろの場合には 1。

実装

例外

2 つのノードが共通の先祖を共有していません。

次の例では、このクラスを使用して、2 つのノードのドキュメントの順序を比較します。

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");  

この例を実行すると、次の出力が生成されます。

Child3 is before Child5  

注釈

このクラスを直接使用する代わりに、メソッドを InDocumentOrder 使用することをお勧めします。 このクラスは、そのメソッドによって内部的に使用されます。

適用対象

こちらもご覧ください