2012-04-01 23 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ファイルの一例です。あなたはこのファイルを読むためにXMLへのLINQを使用する方法を教えてもらえます:

<?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が参照されていないと思われます。

[ソリューションエクスプローラ]メニューから[参照設定]を選択すると、すべての参照ファイルが表示されます。それを右クリックして[Add Reference ...]を選択し、System.Xml.dllファイルを追加します。または、これを[プロジェクト]メニューから実行できます。

投稿したコードは、クラス内に含まれていないため不完全なように見えますが、完全なコードを共有していないと思います。

+0

私の質問に返信してください。私は参照をチェックします、私は使用している文章で十分だろうと思った。 – user717316

+0

参照は良いですが、それでも私にエラーが表示されます。 ReadElementString拡張メソッドがWindows Phone v7.1フレームワークで使用できない可能性がありますか? – user717316

+0

@ user717316はい、違いがあります。 WP7は、.NET Compact Frameworkに基づいたXNA/Silverlightを使用します。 MSDNでは、任意のクラスを選択し、各メソッドの横に表示されるアイコンに基づいて、サポートされているメソッドを調べることができます(マウスでマウスを移動してaltテキストを表示)。名前の下にあるクラスまたはメソッド自体を参照すると、 "Other Versions"ドロップダウンリストと['ReadElementString'](http://msdn.microsoft.com/en-us/library/ef1hfxb9.aspx)が表示されます。 「Silverlight」はオプションではありません。つまり、LINQ to XMLがサポートされているので、代わりにそれを使用する必要があります。 –

関連する問題