Creating an XPathDocument with referenced DTD sometimes throws a web exception. Why?
From stackoverflow
Goran
-
See http://todotnet.com/archive/2006/07/27/8248.aspx
Because in the construction of XPathDocument, there's an http GET command to see if it can access the DTD. It's not doing anything with the DTD. It's for just in case. So while XPathDocument is initially set up to be a faster alternative to XmlDocument, you'll have the additional overhead of an http request that needs to be resolved. Imagine that server being on the other side of the globe!
From Goran -
You can write a custom XmlUrlResolver and then ignore the remote DTD. Also, I believe you can set use XmlResolver = null on the XmlTextReader.
Goran : But the MSDN should clearly state this might happen. Looking at the XPathDocument you can't tell it will look for DTD on the web. Also why is the exception thrown? If DTD is not needed - works offline doesn't it? Thanks for the suggestions anyway - I'll try them next time!From duckworth
0 comments:
Post a Comment