2

さまざまなフォームから何度もアクセスできるように、メモリにxmlファイルをロードする必要があります。xmlは次の形式です。

  <Slides>
    <Slide>
      <Name>Name 1</Name>
      <Value>Value 1</Value>
      <Type>Type 1</Type>
    </Slide>
    <Slide>
      <Name>Name 2</Name>
      <Value>Value 2</Value>
      <Type>Type 2</Type>
    </Slide>
  </Slides>

データベースを使用して変数を保存したくありません。データをメモリに保存する他の方法はありますか?現在、スライドとストリームリーダーごとにtxtファイルを使用していますが、これは最善の選択肢ではないと確信しています。

編集:このコードを追加しましたが、xmlファイルを再度読み取ることなく毎回スライドを取得できますか?

        var slides = from s in XElement.Load("slides.xml").Elements("Slide")
                      select s;
        foreach (var slide in slides)
        {
            //code
        }
4

3 に答える 3

5

XDocument Load メソッドを使用する必要があります: http://msdn.microsoft.com/en-us/library/bb343181.aspx

XmlDocument よりも XDocument を使用する方が良いと思いますが、要件によって異なります...

XDocument は XmlDocument よりもメモリが最適化されており、どちらも使いやすいと思います (xml から値を取得するため)。

于 2012-06-10T12:44:50.897 に答える
1

XmlDocumentクラスを参照してください。Load()メソッドは必要なことを実行します。

于 2012-06-10T12:40:05.137 に答える
1

まず、プロジェクト ファイルまたはハード ディスクに xml ファイルを保存する必要があります。その後、コード ビハインドで xml ファイルを読み込むことができます。xml ファイルを動的に作成できます。これははるかに優れています。

using System.Xml;

    XmlDocument myxml = new XmlDocument();
    myxml.Load("D:/sample.xml");//Load you xml file from you disk what you want to load
    string element_1 = myxml.GetElementsByTagName("Name")[0].InnerText;
    string element_2 = myxml.GetElementsByTagName("Value")[0].InnerText; 
    string element_3 = myxml.GetElementsByTagName("Value")[0].InnerText;
    string element_4 = myxml.GetElementsByTagName("Name")[1].InnerText;
    string element_5 = myxml.GetElementsByTagName("Value")[1].InnerText; 
    string element_6 = myxml.GetElementsByTagName("Value")[1].InnerText;

このプログラムを試してみてください。

于 2012-06-10T13:24:43.123 に答える