2009-07-02 7 views
4

スキーマに対してXMLを検証する方法については、多くのチュートリアルがあります。しかし今、私はスキーマに対してではなく、XML構文のみを検証したいと思います。意味私は、XMLが適切な形式であるかどうか、つまり、正しく終了していない終了タグがあるかどうかをチェックしたいだけです。C#でのみXML構文を検証する

とにかく私は.Netでそれを行うことができますか?

答えて

5

.NET 3.5の場合は、XElement.Load()を使用できます。

LINQ to XMLの読み込み機能は、 が組み込まれています。XmlReaderです。したがって、あなた は がXmlReader.Create オーバーロードメソッドと読み、 文書を解析XmlReader メソッドによってスローされた例外をキャッチすることがあります。

+3

XDocument.Load()を使用して、宣言および処理の指示も検証したい場合。 –

4

XmlReaderで開いて、最後まで読んでください。例外を投げることなくそれを作るなら、それはうまく形成されます。

0

おそらく、XmlDocumentを使用する方が少し簡単です。

+0

これはうまくいくが、メモリ全体にロードしてDOMを作成しようとする。ああ。 XmlReaderは非常に高速になります。 –

+0

はい、それは完全に真です。 XmlDocumentは簡単ではなく、より高速です。私の考えは、文書の妥当性を検証することが目標であるため、妥当性が妥当であると判断された場合に最適です。プロセスがI/Oバウンドに陥る可能性があるので、ファイルが非常に大きくない限り、追加の費用は問題にはならないと私は考えています。 –