2

XMLReader で xml ファイルを読み込もうとしています。私の WPF ソリューションでは、次のようになりました。

public XmlDocument XmlDoc;
XmlReaderSettings settings;
XElement Catalogue;

public void LoadXML(string XML_File)
{
  XmlReader reader = XmlReader.Create(XML_File, settings);
  XmlDoc.Load(reader);

  Catalogue = XElement.Load(new XmlNodeReader(XmlDoc));
}

ポータブル クラス ライブラリ (Silverlight、WP8、.NET 4.5、Windows 8) を使用しているため、 noXMLDocumentと noはありませんXmlNodeReader。私は今、このようにそれをやろうとしました:

public void LoadXML(string XML_File)
{
    XmlReader reader = XmlReader.Create();

    XDocument XmlDocx = XDocument.Load(reader);

    Catalogue = XElement.Load(reader);
}

XML_Fileしかし、文字列(「Users.xml」などを含む) をリーダーに入れる方法がわかりません。XmlReader.Create() はパラメーターとして StreamReader または Textreader を必要とし、新しい StreamReader を宣言すると、StreamReader はパラメーターとしてストリームを必要とします...? ええ、私はそのようにしました

public void LoadXML(string XML_File)
{
    //How to put the XML_File in the Stream?
    //I could say Stream sra = Stream.Null; - but I still need to put the XML_File string somehow into the reader
    Stream s = new Stream();
    StreamReader sr = new StreamReader(s);

    XmlReader reader = XmlReader.Create(sr);

    XDocument XmlDocx = XDocument.Load(reader);

    Questions = XElement.Load(reader);
}

XML_File ('Users.xml') をリーダーに挿入して、自分の .xml でリーダーをロードできるようにするにはどうすればよいXmlDocですか?

4

1 に答える 1

4

Silverlight または Windows ストアのファイルへのパスを渡すだけではありません。永続化されたストレージにアクセスする方法はそれぞれ異なります。私のPCL ストレージライブラリを使用して、ポータブル クラス ライブラリでファイル I/O を実行する一般的な方法を提供できます。

また、PCL の使用に関する一般的なアドバイスとして、「ポータブル クラス ライブラリを機能させる方法」に関する私の投稿を読むことをお勧めします。

于 2013-06-20T17:59:14.740 に答える