XNode.NodesBeforeSelf 方法

定義

依照文件順序,傳回這個節點之前同層級節點的集合。Returns a collection of the sibling nodes before this node, in document order.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XNode ^> ^ NodesBeforeSelf();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XNode> NodesBeforeSelf ();
member this.NodesBeforeSelf : unit -> seq<System.Xml.Linq.XNode>
Public Function NodesBeforeSelf () As IEnumerable(Of XNode)
Public Iterator Function NodesBeforeSelf () As IEnumerable(Of XNode)

傳回

IEnumerable<XNode>

IEnumerable<T>,屬於這個節點之前同層級節點 (依照文件順序) 的 XNodeAn IEnumerable<T> of XNode of the sibling nodes before this node, in document order.

範例

下列範例會建立 XML 樹狀結構,然後使用這個座標軸方法來查詢樹狀結構。The following example creates an XML tree, and then queries the tree using this axis method.

XElement xmlTree = new XElement("Root",  
    new XText("Text content."),  
    new XElement("Child1", "child1 content"),  
    new XElement("Child2", "child2 content"),  
    new XText("More text content."),  
    new XElement("child3", "child3 content")  
);  
XElement child = xmlTree.Element("Child2");  
IEnumerable<XNode> nodes =  
    from node in child.NodesBeforeSelf()  
    select node;  
foreach (XNode node in nodes)  
    Console.WriteLine("Node type: {0}  {1}",  
        node.NodeType,  
        node.NodeType == XmlNodeType.Text ? (node as XText).Value : "");  
Dim xmlTree As XElement = New XElement("Root", _  
    New XText("Text content."), _  
    New XElement("Child1", "child1 content"), _  
    New XElement("Child2", "child2 content"), _  
    New XText("More text content."), _  
    New XElement("child3", "child3 content") _  
)  
  
Dim child As XElement = xmlTree.Element("Child2")  
Dim nodes As IEnumerable(Of XNode) = _  
    From node In child.NodesBeforeSelf() _  
    Select node  
For Each node As XNode In nodes  
    Dim s As String = ""  
    If node.NodeType = XmlNodeType.Text Then  
        s = DirectCast(node, XText).Value  
    End If  
    Console.WriteLine("Node type: {0}  {1}", node.NodeType, s)  
Next  

這個範例會產生下列輸出:This example produces the following output:

Node type: Text  Text content.  
Node type: Element  

備註

這個方法只會在傳回的集合中包含兄弟。This method only includes siblings in the returned collection. 它不包含下階。It does not include descendants.

這個方法會使用延後的執行。This method uses deferred execution.

適用於

另請參閱