2010-05-18 61 views
1

我的代碼有什麼問題?C#xml讀取,顯示錯誤

 XmlTextReader textReader = new XmlTextReader(@"D:\xml_file.xml"); 
     textReader.Read(); 

     // If the node has value 

     while (textReader.Read()) 
     { 
      // Move to fist element 

      textReader.MoveToElement(); 
      Console.WriteLine("XmlTextReader Properties Test"); 
      Console.WriteLine("==================="); 
      // Read this element's properties and display them on console 
      Console.WriteLine("id:" + textReader.id.ToString()); 
      Console.WriteLine("name:" + textReader.name.ToString()); 
      Console.WriteLine("time:" + textReader.time.ToString()); 
     } 
     Console.ReadLine() 

展上erron:ID,姓名,時間

我的XML文件:

<students> 
<student> 
    <id>1</id> 
    <name>Rikko Nora</name> 
    <time>2010-03-12</time> 
</student> 
<student> 
    <id>2</id> 
    <name>Rikko Nora2</name> 
    <time>2010-05-15</time> 
</student> 
</students> 
+0

什麼是錯誤? – Rbacarin 2010-05-18 18:49:21

回答

6

的XmlTextReader的本身並不適應,你正在閱讀的XML的形狀。編譯錯誤,你得到的謊言與這些線:

Console.WriteLine("id:" + textReader.id.ToString()); 
Console.WriteLine("name:" + textReader.name.ToString()); 
Console.WriteLine("time:" + textReader.time.ToString()); 

XmlTextReader類不具備標識,名稱和時間屬性。

而是,當您使用XmlTextReader時,在移動到節點後,您將希望使用ReadContentAs{ContentType} methods將元素內容作爲特定類型實例讀取。

如果您正在尋找從XML讀取對象表示,那麼你可能想看看XML Serialization in the .NET Framework

1

嘗試使用新的XDocument類來加載XML並在其上運行Linq查詢。