2012-04-13 67 views
1

我用XPathDocument解析XML文件,但如果當我初始化XPathDocument類傳遞文件的路徑,包含XML數據,它的構造函數的一個新實例有一個doctype declaration,我的應用程序嘗試連接到互聯網(可能是爲了驗證XML數據的正確性),並且長時間保持阻塞狀態。如果我從XML文件中刪除doctype聲明,則不會發生這種情況。方法XmlDocument.Load具有相同的行爲。 我該如何解決這個問題?XPathDocument中的行爲與DOCTYPE聲明

謝謝。

+0

它的文件實際上是一個HTML文件,很多人發現HTML敏捷包很適合解析元素:http://htmlagilitypack.codeplex.com/ – 2012-04-13 20:37:40

+0

這是一個[SVG](http://www.w3 .org/TR/SVG11 /)文件。 – gliderkite 2012-04-13 22:36:52

回答

-1

如果您使用以XmlReader作爲輸入的XPathDocument構造函數,則可以在XmlReader上設置XmlResolver。然後,您可以將解析器設置爲識別SVG文檔類型並提供SVG DTD的本地副本。

同樣,在調用Load方法之前,也可以給XmlDocument一個XmlResolver。

+0

你可以給我一個XPathDocument的例子嗎? – gliderkite 2012-04-14 14:11:06