XNode.AddBeforeSelf 方法

定義

將指定的內容加入緊接在此節點前面的位置。Adds the specified content immediately before this node.

多載

AddBeforeSelf(Object)

將指定的內容加入緊接在此節點前面的位置。Adds the specified content immediately before this node.

AddBeforeSelf(Object[])

將指定的內容加入緊接在此節點前面的位置。Adds the specified content immediately before this node.

範例

下列範例會使用 LINQ 查詢來建立 XElementIEnumerable<T>,然後將它傳遞給這個方法。The following example uses a LINQ query to create an IEnumerable<T> of XElement, which it then passes to this method. 這會將查詢的結果新增至所需位置中的樹狀結構。This adds the results of a query to the tree in the desired location.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5)  
);  
XElement child1 = xmlTree.Element("Child1");  
child1.AddBeforeSelf(  
    from el in srcTree.Elements()  
    where (int)el > 3  
    select el  
);  
Console.WriteLine(xmlTree);  
Dim srcTree As XElement = _   
        <Root>  
            <Element1>1</Element1>  
            <Element2>2</Element2>  
            <Element3>3</Element3>  
            <Element4>4</Element4>  
            <Element5>5</Element5>  
        </Root>  
  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
        </Root>  
  
Dim child1 As XElement = xmlTree.<Child1>(0)  
child1.AddBeforeSelf( _  
From el In srcTree.Elements() _  
Where CInt(el) > 3 _  
Select el)  
  
Console.WriteLine(xmlTree)  

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

<Root>  
  <Element4>4</Element4>  
  <Element5>5</Element5>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

備註

如需可傳遞給這個方法之有效內容的詳細資訊,請參閱system.xml.linq.xelement> 和 XDocument 物件的有效內容For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

這個方法會引發 ChangedChanging 事件。This method will raise the Changed and Changing events.

XContainer 會將其子附注儲存為 XNode 物件的單一連結清單。The XContainer stores its child notes as a singly-linked list of XNode objects. 這表示 AddBeforeSelf 方法必須在父容器下的直接子節點清單中進行。This means that the AddBeforeSelf method must traverse the list of direct child nodes under the parent container. 因此,使用此方法可能會影響您的效能。Therefore, using this method might affect your performance.

AddBeforeSelf(Object)

將指定的內容加入緊接在此節點前面的位置。Adds the specified content immediately before this node.

public:
 void AddBeforeSelf(System::Object ^ content);
public void AddBeforeSelf (object content);
member this.AddBeforeSelf : obj -> unit
Public Sub AddBeforeSelf (content As Object)

參數

content
Object

要在這個節點之前加入之包含簡單內容或內容物件集合的內容物件。A content object that contains simple content or a collection of content objects to be added before this node.

例外狀況

該父代為 nullThe parent is null.

範例

下列範例會使用這個方法,將元素加入至樹狀結構中。The following example uses this method to add an element into the tree.

XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5)  
);  
XElement child1 = xmlTree.Element("Child1");  
child1.AddBeforeSelf(  
    new XElement("NewChild", 10)  
);  
Console.WriteLine(xmlTree);  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
        </Root>  
  
Dim child1 As XElement = xmlTree.<Child1>(0)  
child1.AddBeforeSelf(New XElement("NewChild", 10))  
Console.WriteLine(xmlTree)  

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

<Root>  
  <NewChild>10</NewChild>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

備註

如需可傳遞給這個方法之有效內容的詳細資訊,請參閱system.xml.linq.xelement> 和 XDocument 物件的有效內容For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

這個方法會引發 ChangedChanging 的事件。This method will raise the Changed and the Changing events.

XContainer 會將其子節點儲存為 XNode 物件的單一連結清單。The XContainer stores its child nodes as a singly-linked list of XNode objects. 這表示 AddBeforeSelf 方法必須在父容器下的直接子節點清單中進行。This means that the AddBeforeSelf method must traverse the list of direct child nodes under the parent container. 因此,使用此方法可能會影響您的效能。Therefore, using this method might affect your performance.

另請參閱

AddBeforeSelf(Object[])

將指定的內容加入緊接在此節點前面的位置。Adds the specified content immediately before this node.

public:
 void AddBeforeSelf(... cli::array <System::Object ^> ^ content);
public void AddBeforeSelf (params object[] content);
member this.AddBeforeSelf : obj[] -> unit
Public Sub AddBeforeSelf (ParamArray content As Object())

參數

content
Object[]

內容物件的參數清單。A parameter list of content objects.

例外狀況

該父代為 nullThe parent is null.

範例

下列範例會使用 LINQ 查詢來建立 XElementIEnumerable<T>,然後將它傳遞給這個方法。The following example uses a LINQ query to create an IEnumerable<T> of XElement, which it then passes to this method. 這會將查詢的結果新增至所需位置中的樹狀結構。This adds the results of a query to the tree in the desired location.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5)  
);  
XElement child1 = xmlTree.Element("Child1");  
child1.AddBeforeSelf(  
    from el in srcTree.Elements()  
    where (int)el > 3  
    select el  
);  
Console.WriteLine(xmlTree);  
Dim srcTree As XElement = _   
        <Root>  
            <Element1>1</Element1>  
            <Element2>2</Element2>  
            <Element3>3</Element3>  
            <Element4>4</Element4>  
            <Element5>5</Element5>  
        </Root>  
  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
        </Root>  
  
Dim child1 As XElement = xmlTree.<Child1>(0)  
child1.AddBeforeSelf( _  
    From el In srcTree.Elements() _  
    Where CInt(el) > 3 _  
    Select el)  
  
Console.WriteLine(xmlTree)  

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

<Root>  
  <Element4>4</Element4>  
  <Element5>5</Element5>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

備註

如需可傳遞給這個方法之有效內容的詳細資訊,請參閱system.xml.linq.xelement> 和 XDocument 物件的有效內容For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

這個方法會引發 ChangedChanging 的事件。This method will raise the Changed and the Changing events.

XContainer 會將其子節點儲存為 XNode 物件的單一連結清單。The XContainer stores its child nodes as a singly-linked list of XNode objects. 這表示 AddBeforeSelf 方法必須在父容器下的直接子節點清單中進行。This means that the AddBeforeSelf method must traverse the list of direct child nodes under the parent container. 因此,使用這個函數可能會影響您的效能。Therefore, using this function might affect your performance.

另請參閱

適用於