XElement類別提供幾個新增節點的方法成員,將指定的節點加入至XML樹狀架構當中,相關的方法有四個,名稱均以Add為開頭:
這四個方法都能夠讓你將一個指定的XElement加入至目前的XML文件結構當中,不過加入至XML樹狀架構中的位置不太一樣,最簡單的Add成員定義如下:
Add方法有兩個不同的版本,分別接受單一物件以及陣列型態的物件,然後將這些物件加入至目前的XML內容之中。如果要將新增的元素,插入至目前內容一開始的位置,則必須引用AddFirst這個方法,這個方法會將指定的元素當作第一個元素,新增至目前的XML文件當中。以下為其定義:
AddFirst同樣有兩個覆寫的版本,意義同上述的Add方法。現在考慮以下的 XML文件:
假設建立一個新的元素 newXEle :
調用Add() 方法如下:
會得到以下的結果,紅色為加入的部份:
如果調用 AddFirst() 如下:
會出現以下的結果,紅色為加入的部份:
另外的 AddAfterSelf 與 AddBeforeSelf 這兩個方法,同樣執行新增元素的動作,只是它們以指定的元素節點為依據,前者將新的元素加入其之前的位置,後者則是加入其之後的位置。同樣具有兩個多載版本,分別接受 Object 與 Object[] 型態物件參數。
如果要刪除元素,引用方法RemoveAll會移走目前XElement的所有內容與屬性,我們來看看它的定義:
這個方法並沒有任何的參數,直接對其進行引用即可,一旦執行完畢,XElement的所有內容將被全部移除,只剩下最頂層的元素標籤。假設以下是一個XElement物件xElement的內容:
如果執行以下這一行程式碼,其中的內容將被清空。
最後將得到以下的結果:
如果想要刪除某個特定元素,則必須先找到此元素,然後引用Remove方法即可。
LINQ to XML:XDocument & XElement 簡述
LINQ to XML:關於 LINQ to XML
LINQ to XML:XML命名空間與元素識別名稱
LINQ to XML:XML內容元素
LINQ to XML:XML文件載入與輸出
LINQ to XML:載入 XML 內容
LINQ to XML:輸出XML文件
LINQ to XML:列舉XML元素
LINQ to XML:存取特定XML元素
LINQ to XML:新增XML元素
LINQ to XML:元素屬性
LINQ to XML:利用LIQN萃取XML文件內容元素
LINQ to XML:元素存取與轉換
方法 | 說明 |
---|---|
Add | 加入指定的內容做為此 XContainer 的子系。 |
AddFirst | 加入指定的內容,以當做此文件或項目的第一個子系。 |
AddAfterSelf | 將指定的內容加入緊接在此節點後面的位置。 |
AddBeforeSelf | 將指定的內容加入緊接在此節點前面的位置。 |
這四個方法都能夠讓你將一個指定的XElement加入至目前的XML文件結構當中,不過加入至XML樹狀架構中的位置不太一樣,最簡單的Add成員定義如下:
public void Add(
Object content
)
public void Add(
Object[] content
)
Add方法有兩個不同的版本,分別接受單一物件以及陣列型態的物件,然後將這些物件加入至目前的XML內容之中。如果要將新增的元素,插入至目前內容一開始的位置,則必須引用AddFirst這個方法,這個方法會將指定的元素當作第一個元素,新增至目前的XML文件當中。以下為其定義:
public void AddFirst(
Object content
)
public void AddFirst(
Object[] content
)
AddFirst同樣有兩個覆寫的版本,意義同上述的Add方法。現在考慮以下的 XML文件:
<Books>
<Book>
<BookTitle>HTML5從零開始</BookTitle>
<BookISBN>000-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>HTML5完美風暴</BookTitle>
<BookISBN>111-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>LINQ精要剖析</BookTitle>
<BookISBN>222-000-000-00-0</BookISBN>
</Book>
</Books>
假設建立一個新的元素 newXEle :
XElement newXEle = new XElement("Book",
new XElement("BookTitle", "ASP.NET MVC ╳ HTML5 完美演繹"),
new XElement("BookISBN", "222-000-000-00-0"));
調用Add() 方法如下:
xEleBook.Add(newXEle);
會得到以下的結果,紅色為加入的部份:
<Books>
<Book>
<BookTitle>HTML5從零開始</BookTitle>
<BookISBN>000-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>HTML5完美風暴</BookTitle>
<BookISBN>111-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>LINQ精要剖析</BookTitle>
<BookISBN>222-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>ASP.NET MVC ╳ HTML5 完美演繹</BookTitle>
<BookISBN>222-000-000-00-0</BookISBN>
</Book>
</Books>
如果調用 AddFirst() 如下:
xEleBook.AddFirst(newXEle);
會出現以下的結果,紅色為加入的部份:
<Books>
<Book>
<BookTitle>ASP.NET MVC ╳ HTML5 完美演繹</BookTitle>
<BookISBN>222-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>HTML5從零開始</BookTitle>
<BookISBN>000-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>HTML5完美風暴</BookTitle>
<BookISBN>111-000-000-00-0</BookISBN>
</Book>
<Book>
<BookTitle>LINQ精要剖析</BookTitle>
<BookISBN>222-000-000-00-0</BookISBN>
</Book>
</Books>
另外的 AddAfterSelf 與 AddBeforeSelf 這兩個方法,同樣執行新增元素的動作,只是它們以指定的元素節點為依據,前者將新的元素加入其之前的位置,後者則是加入其之後的位置。同樣具有兩個多載版本,分別接受 Object 與 Object[] 型態物件參數。
如果要刪除元素,引用方法RemoveAll會移走目前XElement的所有內容與屬性,我們來看看它的定義:
public void RemoveAll()
這個方法並沒有任何的參數,直接對其進行引用即可,一旦執行完畢,XElement的所有內容將被全部移除,只剩下最頂層的元素標籤。假設以下是一個XElement物件xElement的內容:
<Root Attr1="1" Attr2="2"
Attr3="3" …>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
…
</Root>
如果執行以下這一行程式碼,其中的內容將被清空。
xElement.RemoveAll();
最後將得到以下的結果:
<Root />
如果想要刪除某個特定元素,則必須先找到此元素,然後引用Remove方法即可。
LINQ to XML:XDocument & XElement 簡述
LINQ to XML:關於 LINQ to XML
LINQ to XML:XML命名空間與元素識別名稱
LINQ to XML:XML內容元素
LINQ to XML:XML文件載入與輸出
LINQ to XML:載入 XML 內容
LINQ to XML:輸出XML文件
LINQ to XML:列舉XML元素
LINQ to XML:存取特定XML元素
LINQ to XML:新增XML元素
LINQ to XML:元素屬性
LINQ to XML:利用LIQN萃取XML文件內容元素
LINQ to XML:元素存取與轉換
沒有留言:
張貼留言