参照されたDTDを使用してXPathDocumentを作成すると、Web例外がスローされることがあります。なんで?
3 に答える
1
カスタムXmlUrlResolverを作成してから、リモートDTDを無視することができます。また、XmlTextReaderでuse XmlResolver=nullを設定できると思います。
于 2008-10-28T01:00:09.593 に答える
1
興味のある方のために、dtd チェックを無効にする回避策を見つけました。
XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = null;
settings.ProhibitDtd = false;
var xmlReader = XmlTextReader.Create(new StringReader(xmlString),settings);
XPathDocument xpathDoc = new XPathDocument(xmlReader);
于 2015-02-01T08:56:36.707 に答える
0
http://todotnet.com/archive/2006/07/27/8248.aspxを参照してください
XPathDocumentの構築には、DTDにアクセスできるかどうかを確認するためのhttpGETコマンドがあるためです。DTDでは何もしていません。念のためです。そのため、XPathDocumentは最初はXmlDocumentのより高速な代替手段として設定されていますが、解決する必要のあるhttpリクエストの追加のオーバーヘッドが発生します。そのサーバーが地球の反対側にあると想像してみてください!
于 2008-10-27T12:58:18.477 に答える