0

私のアプリケーションは、Xmlファイルを作成する必要がありXmlSchemaます。XmlSerializerファイルが非常に大きくなる可能性があるため、 xsd.exeによって生成されたクラスと一緒に使用するのは問題があると思います。

任意の大きなXmlファイルを作成するために使用できることはわかっていXmlWriterますが、それは、エラーが発生しやすいすべての要素とすべての属性を手動で書き出す必要があることを意味します。

XmlWriterエラーを回避するのに役立つ「スキーマ固有の」クラスを生成できるツールはありますか?または、少なくとも、私が違法なものを書いたときにすぐに例外を投げる人はいますか?私が知らない他のアプローチはありますか?

-マット

4

1 に答える 1

0

1 つのオプションは、検証せずに書き出すことです。次に、スキーマを使用して再度読み取るXmlReader追加の手順を実行します (実際にメモリ内に何も記憶することなく、読み通すために使用します)。このステップはオプションである可能性があります。最初は常に実行してください。その後、バグが見つかったと思われる場合は、パフォーマンスを向上させるために最終的にオフにすることができます。(簡単に再度有効にできるように、コードを残しておくこともできます。)

もちろん、これを唯一のチェックとして使用するべきではありません - 単体テストは、そこまで到達するのを止めるのに役立つはずです:)

于 2012-09-23T06:36:26.830 に答える