2016-06-27 2 views
1

XMLスキーマを使用してXMLファイルの内容をチェックできますか?C#で解析するためのXMLスキーマ

たとえば、web.configのASP.NETでは、<customErrors mode = "On">を確認するスキーマを作成できますか?これは最終的にはC#アプリケーションで使用され、C#アプリケーションはXML文書とXMLスキーマを取り込み、XML文書がXMLスキーマにリストされている「規則」に違反していないかどうかを確認する必要があります(<customErrors mode = "Off">

) XMLファイルの構造に何の境界もなくチェックを行うことが可能ですか?つまり、<customErrors>という属性はXML文書のどの部分にもあり得、スキーマは引き続き機能します。

答えて

1

:はい、アサーションを使用するXMLスキーマ1.1です。

実用またはを推奨:いいえ

XMLスキーマは、あなたの質問に予想されるとして、「XMLファイルの構造を、」検証するために使用されることを意図しています。その多くをxsd:any経由でスキップしてから、アサーションを使用して、XPath式で記述した種類のスポットチェックを表現できます。しかし、C#からXMLに直接XPath式を直接適用するか、検証を行うためにXPath式を適用するための標準であるSchematronを使用する方が自然です。

+0

ですから、私が取り組むべきアプローチは、C#ライブラリのXmlDocument APIを使うようなものでしょうか? –

+0

はい、XPathのサンプルコードを含むXmlDocumentチュートリアルを見つけることができます:[XPathとXmlDocument(C#)でXMLデータを操作する](http://www.codeproject.com/Articles/9494/Manipulate-XML-data -with-XPath-and-XmlDocument-C) – kjhughes

関連する問題