讀取項目
更新: November 2007
下表說明 XmlReader 類別提供用來處理項目的方法及屬性。將 XmlReader 定位於項目上後,節點屬性 (如 Name) 就會反映項目值。除了下面說明的成員之外,還可以使用 XmlReader 類別的任意一般方法及屬性來處理項目。例如,您可以使用 ReadInnerXml 方法讀取項目的內容。
注意事項: |
---|
這些方法包括對 MoveToContent 方法的初始呼叫。 |
成員名稱 |
說明 |
---|---|
檢查目前節點是開始標記還是空白的項目標記。 |
|
檢查以確定目前節點為項目,然後使讀取器前進至下一個節點。 |
|
檢查以確定目前節點為結束標記,然後使讀取器前進至下一個節點。 |
|
讀取純文字項目。 |
|
使 XmlReader 前進至具有指定名稱的下一個子代項目。 |
|
使 XmlReader 前進至具有指定名稱的下一個同層級項目。 |
|
檢查目前項目是否具有空白的項目標記。此屬性可讓您判斷下列各項目之間的差異:
換言之,IsEmptyElement 只會報告來源文件中的項目是否具有結尾項目標記。 |
範例
下列程式碼會使用 ReadStartElement 及 ReadString 方法讀取項目。
Using reader As XmlReader = XmlReader.Create("book3.xml")
' Parse the XML document. ReadString is used to
' read the text content of the elements.
reader.Read()
reader.ReadStartElement("book")
reader.ReadStartElement("title")
Console.Write("The content of the title element: ")
Console.WriteLine(reader.ReadString())
reader.ReadEndElement()
reader.ReadStartElement("price")
Console.Write("The content of the price element: ")
Console.WriteLine(reader.ReadString())
reader.ReadEndElement()
reader.ReadEndElement()
End Using
using (XmlReader reader = XmlReader.Create("book3.xml")) {
// Parse the XML document. ReadString is used to
// read the text content of the elements.
reader.Read();
reader.ReadStartElement("book");
reader.ReadStartElement("title");
Console.Write("The content of the title element: ");
Console.WriteLine(reader.ReadString());
reader.ReadEndElement();
reader.ReadStartElement("price");
Console.Write("The content of the price element: ");
Console.WriteLine(reader.ReadString());
reader.ReadEndElement();
reader.ReadEndElement();
}
下列程式碼會使用 While 迴圈來處理項目。
While reader.Read()
If reader.IsStartElement() Then
If reader.IsEmptyElement Then
Console.WriteLine("<{0}/>", reader.Name)
Else
Console.Write("<{0}> ", reader.Name)
reader.Read() ' Read the start tag.
If reader.IsStartElement() Then ' Handle nested elements.
Console.Write(vbCr + vbLf + "<{0}>", reader.Name)
End If
Console.WriteLine(reader.ReadString()) 'Read the text content of the element.
End If
End If
End While
while (reader.Read()) {
if (reader.IsStartElement()) {
if (reader.IsEmptyElement)
Console.WriteLine("<{0}/>", reader.Name);
else {
Console.Write("<{0}> ", reader.Name);
reader.Read(); // Read the start tag.
if (reader.IsStartElement()) // Handle nested elements.
Console.Write("\r\n<{0}>", reader.Name);
Console.WriteLine(reader.ReadString()); //Read the text content of the element.
}
}
}