2

ファイルを処理するクラスがありXMLます。それは機能しますが、問題は、すべてがで処理されていることですRAM。新しいファイルを作成するXmlWriterときにそれを節約するために(クラスを使用するなど)何かをする必要があります(データが非常に大きいのはそのためです)。HDDXML

最善の方法でそれを行う方法は?XDocumentに変更する必要がないことを願っていますXmlDocument:/

-以下のようなXML構造があり、ノードを1つ追加してファイルに保存し、要素を破棄してから、新しいノードを作成して保存します...など。

<root>
   <element no='1' />
   <element no='2' />
   <element no='3' />
   <element no='4' />
</root>
4

3 に答える 3

2

私はこれを自分で行ったことがありませんが、この記事が役立つはずです。そうです、XDocumentを使い続けることができます。

記事から:

2番目の改善点は、ドキュメントアプローチとXmlReaderアプローチを組み合わせるXMLのLINQ機能です。XmlReaderを受け取り、リーダーの現在の位置のXNodeオブジェクトを返す静的メソッドXNode.ReadFromを使用して、XNode要素を1つずつ作成し、必要に応じてそれらを処理できます。まだドキュメント全体をメモリにロードしていませんが、ドキュメントの操作が簡単になります。

記事では、著者はドキュメントからの読み取りについて話しているのに対し、あなたは書き込みについて話している。ただし、ここで重要なのはXNodeクラスであり、このクラスにもWriteToメソッド(huzzah!)があります。

于 2012-10-16T10:49:48.640 に答える
0

XmlWriterを使用してXDocumentを保存できます。

using (var xw = XmlWriter.Create(...)) 
{
    var xDoc = new XDocument(...);
    xDoc.Save(xw);
}
于 2012-10-16T10:47:02.607 に答える
-1

Saveメソッドを使用できます。msdnを参照してください

于 2012-10-16T10:47:06.413 に答える