共用方式為


讀取項目

更新: November 2007

下表說明 XmlReader 類別提供用來處理項目的方法及屬性。將 XmlReader 定位於項目上後,節點屬性 (如 Name) 就會反映項目值。除了下面說明的成員之外,還可以使用 XmlReader 類別的任意一般方法及屬性來處理項目。例如,您可以使用 ReadInnerXml 方法讀取項目的內容。

注意事項:

這些方法包括對 MoveToContent 方法的初始呼叫。

成員名稱

說明

IsStartElement

檢查目前節點是開始標記還是空白的項目標記。

ReadStartElement

檢查以確定目前節點為項目,然後使讀取器前進至下一個節點。

ReadEndElement

檢查以確定目前節點為結束標記,然後使讀取器前進至下一個節點。

ReadElementString

讀取純文字項目。

ReadToDescendant

使 XmlReader 前進至具有指定名稱的下一個子代項目。

ReadToNextSibling

使 XmlReader 前進至具有指定名稱的下一個同層級項目。

IsEmptyElement

檢查目前項目是否具有空白的項目標記。此屬性可讓您判斷下列各項目之間的差異:

換言之,IsEmptyElement 只會報告來源文件中的項目是否具有結尾項目標記。

範例

下列程式碼會使用 ReadStartElementReadString 方法讀取項目。

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.
    }
  } 
} 

請參閱

概念

使用 XmlReader 讀取 XML