XNode.IsBefore(XNode) メソッド

定義

ドキュメント順に基づいて、現在のノードを指定したノードの前に表示するかどうかを決定します。Determines if the current node appears before a specified node in terms of document order.

public:
 bool IsBefore(System::Xml::Linq::XNode ^ node);
public bool IsBefore (System.Xml.Linq.XNode node);
member this.IsBefore : System.Xml.Linq.XNode -> bool
Public Function IsBefore (node As XNode) As Boolean

パラメーター

node
XNode

ドキュメント順を比較する XNodeThe XNode to compare for document order.

戻り値

指定したノードの前にこのノードを表示する場合は true。それ以外の場合は falsetrue if this node appears before the specified node; otherwise false.

次の例では、このメソッドを使用します。The following example uses this method.

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");  
if (child5.IsBefore(child3))  
    Console.WriteLine("Child5 is before Child3");  
else  
    Console.WriteLine("Child5 is not before Child3");  
Dim xmlTree As XElement = _   
        <Root>Text content.  
            <Child1>child1 content</Child1>  
            <Child2>child2 content</Child2>  
            <Child3>child3 content</Child3>More text content.  
            <Child4>child4 content</Child4>  
            <Child5>child5 content</Child5>  
        </Root>  
  
Dim child3 As XElement = xmlTree.<Child3>(0)  
Dim child5 As XElement = xmlTree.<Child5>(0)  
If (child5.IsBefore(child3)) Then  
    Console.WriteLine("Child5 is before Child3")  
Else  
    Console.WriteLine("Child5 is not before Child3")  
End If  

この例を実行すると、次の出力が生成されます。This example produces the following output:

Child5 is not before Child3  

注釈

XContainer 、その子ノードをオブジェクトのXNodeシングルリンクリストとして格納します。The XContainer stores its child nodes as a singly-linked list of XNode objects. これは、共通IsBeforeの親が見つかるまで、比較対象の2つのノードの先祖を走査する必要があることを意味します。This means that the IsBefore method must traverse the ancestors of the two nodes being compared until it finds the common parent. 次に、比較する2つのノードの順序を決定するために、共通の親の子ノードの一覧を走査する必要があります。Then it must traverse the list of the common parent's child nodes to determine the order of the two nodes being compared. したがって、この方法を使用すると、パフォーマンスに影響を与える可能性があります。Therefore, using this method might affect your performance.

適用対象

こちらもご覧ください