HOW TO:從 XmlReader 建立樹狀結構
這個主題顯示如何從 XmlReader 直接建立 XML 樹狀結構。 若要從 XmlReader 建立 XElement,您必須將 XmlReader 定位在項目節點上。 XmlReader 將會略過註解與處理指示,但是,如果 XmlReader 定位在文字節點上,則會擲出錯誤。 若要避免此類的錯誤,請務必將 XmlReader 定位在項目上,然後再從 XmlReader 建立 XML 樹狀結構。
範例
此範例使用下列 XML 文件:XML 範例檔:書籍 (LINQ to XML)。
下列程式碼會建立 T:System.Xml.XmlReader 物件,然後讀取節點,直到找到第一個項目節點為止。 接著,它會載入 XElement 物件。
XmlReader r = XmlReader.Create("books.xml");
while (r.NodeType != XmlNodeType.Element)
r.Read();
XElement e = XElement.Load(r);
Console.WriteLine(e);
Dim r As XmlReader = XmlReader.Create("books.xml")
Do While r.NodeType <> XmlNodeType.Element
r.Read()
Loop
Dim e As XElement = XElement.Load(r)
Console.WriteLine(e)
這個範例會產生下列輸出:
<Catalog>
<Book id="bk101">
<Author>Garghentini, Davide</Author>
<Title>XML Developer's Guide</Title>
<Genre>Computer</Genre>
<Price>44.95</Price>
<PublishDate>2000-10-01</PublishDate>
<Description>An in-depth look at creating applications
with XML.</Description>
</Book>
<Book id="bk102">
<Author>Garcia, Debra</Author>
<Title>Midnight Rain</Title>
<Genre>Fantasy</Genre>
<Price>5.95</Price>
<PublishDate>2000-12-16</PublishDate>
<Description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</Description>
</Book>
</Catalog>