1

ドキュメント全体をメモリにロードせずに、新しいノードを追加し、既存のノードを更新し、xml ドキュメントの既存のノードを削除する方法は?

私は xml ドキュメントを持っていて、それをアプリケーションのメモリとして扱っているので、ドキュメント全体をロードせずに数百回の読み取りと書き込みをすばやく実行できる必要があります。

その構造は次のようになります。

<spiderMemory>
  <profileSite profileId="" siteId="">
    <links>
      <link>
        <originalUrl></originalUrl>
        <isCrawled></isCrawled>
        <isBroken></isBroken>
        <isHtmlPage></isHtmlPage>
        <firstAppearedLevel></firstAppearedLevel>
      </link>
    </links>
  </profileSite>
</spiderMemory>

それは XDocument でどのように可能になるでしょうか?

ありがとう

4

3 に答える 3

5

何百もの読み取りと書き込みをすばやく実行したい場合は、間違ったテクノロジを使用している可能性があります。普通の古い RDBMS を使用してみましたか?

それでも XML 表現が必要な場合は、エクスポート メソッドを作成してデータベースから生成できます。

XML は、この種の問題の代わりにはなりません。ただ言って。

また...全体をメモリに保持することの何が問題になっていますか? どのくらい大きくなる可能性がありますか?1GBと言いますか?それを吸う。1TBと言いますか?おっとっと。しかし、その場合、とにかく XML は間違っている、間違っている、間違っている ;) あまりにも冗長です!

于 2012-05-23T11:53:50.320 に答える
0

次のような XmlReader を使用できます。

FileStream stream = new FileStream("test.xml", FileMode.Open);
XmlReader reader = new XmlTextReader(stream);
while(reader.Read())
{
  Console.WriteLine(reader.Value);
}

これはより複雑な例ですhttp://msdn.microsoft.com/en-us/library/cc189056%28v=vs.95%29.aspx

于 2012-05-23T11:50:12.680 に答える