2012-04-13 2 views
1

XPathDocumentを使用してXMLファイルを解析しますが、doctype declarationがある場合、XMLデータを含むファイルのパスを渡すXPathDocumentクラスの新しいインスタンスをコンストラクタに初期化するとき、私のアプリケーションは(おそらくXMLデータの正確性を検証するために)インターネットに接続しようとし、長い間ブロックされたままです。これは、XMLファイルからdoctype宣言を削除しても発生しません。 XmlDocument.Loadメソッドの動作は同じです。 この問題を解決するにはどうすればよいですか?DOCTYPE宣言でのXPathDocumentの動作

ありがとうございました。

+0

ファイルは実際にはHTMLファイルですが、多くの人が要素の解析に適したHTMLアジリティパックを見つけています:http://htmlagilitypack.codeplex.com/ –

+0

これは[SVG](http://www.w3 .org/TR/SVG11 /)ファイルを開きます。 – gliderkite

答えて

-1

XmlReaderを入力として使用するXPathDocumentコンストラクターを使用する場合は、XmlReaderでXmlResolverを設定できます。次に、リゾルバがSVG doctypeを認識し、SVG DTDのローカルコピーを提供するように設定できます。

同様に、XmlDocumentには、Loadメソッドを呼び出す前にXmlResolverを指定することもできます。

+0

XPathDocumentの例を教えていただけますか? – gliderkite

関連する問題