2012-04-01 63 views
0

我似乎無法在使用System.XML.XmlReader對象時使用ReadElementString。 我得到以下錯誤:缺少ReadElementString的指令或程序集引用

'System.Xml.XmlReader' does not contain a definition for 'ReadElementString' and no extension method 'ReadElementString' accepting a first argument of type 'System.Xml.XmlReader' could be found (are you missing a using directive or an assembly reference?)

這裏是我的代碼:

using System; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Ink; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 
using System.Xml.Serialization; 
using System.IO; 
using System.Xml; 
using System.Text; 

public void ReadXml (XmlReader reader) 
{ 
    this.pKidsID = reader.GetAttribute("KidsID"); 
    reader.MoveToContent(); 
    reader.ReadStartElement(); 
    this.FirstName = reader.ReadElementString("FirstName"); 
    this.Name = reader.ReadElementString("Name"); 
    reader.Read(); 
    reader.ReadEndElement(); 
} 

這裏是我的xml文件的例子。你能告訴我如何使用LINQ到XML閱讀本文件:

<?xml version="1.0" encoding="utf-8"?> 
<Kids> 
    <Child> 
    <Name>kidone</Name> 
    <FirstName>elmo</FirstName> 
    </Child> 
    <Child> 
    <Name>kidtwo</Name> 
    <FirstName>elmo</FirstName> 
    </Child> 
</Kids> 

回答

1

檢查項目引用,並添加一個參考System.Xml.dll文件。既然你已經有了using System.Xml;指令,我懷疑這個dll沒有被引用。

從解決方案資源管理器菜單中,選擇引用,它將顯示所有引用的文件。右鍵單擊它並選擇「添加引用...」,然後添加System.Xml.dll文件。或者,您可以從「項目」菜單執行此操作。

除此之外,您發佈的代碼看起來不完整,因爲它不包含在類中,但我想你並沒有分享完整的代碼。

+0

thx回覆我的問題。我會檢查參考文獻,我認爲使用統計就足夠了。 – user717316 2012-04-02 09:29:07

+0

引用是好的,但它仍然給我錯誤。在Windows Phone v7.1框架中,ReadElementString擴展方法可能不可用? – user717316 2012-04-02 19:26:16

+0

@ user717316是的,這有所作爲。 WP7使用基於.NET Compact Framework的XNA/Silverlight。在MSDN上,您可以選擇任何類並根據每個圖標旁邊顯示的圖標檢查支持的方法(使用鼠標懸停以查看替代文本)。如果您訪問類或方法本身,在名稱的下面,您應該看到「其他版本」下拉列表,並且對於['ReadElementString'](http://msdn.microsoft.com/zh-cn/library/ef1hfxb9.aspx)你會注意到「Silverlight」不是一個選項。也就是說,支持LINQ to XML,所以應該可以使用它。 – 2012-04-02 21:30:01

相關問題