Reference to undeclared entity 'nbsp' while reading xml from URL in c#?

.net, c#, xml

Solution

There are two ways to handle this, but for both you need to make changes to the input file.

1) Change your ` ` to ` ` in you input files. It is always better to use Unicode and avoid readable entities in XML documents. Use plain Unicode characters or their numerical form.

2) If you still need/want to use ` ` You can declare a custom doctype in the file that will do the conversion for you:

<!DOCTYPE doctypeName [
   <!ENTITY nbsp "&#160;">
]> 

This problem is coming because `&nbsp;` isn't one of XMLs predefined entities.

Problem

``` XmlDocument xmldoc = new XmlDocument(); xmldoc.XmlResolver = null; xmldoc.Load("URL"); XmlWriter xmlWrite = XmlWriter.Create(@Server.MapPath("Test.xml")); xmldoc.Save(xmlWrite); xmlWrite.Close(); ``` Above is the code I am using to read an XML file. The XML I am loading contains entities like `nbsp;` and because of that, the code is throwing an XMLException: Reference to undeclared entity 'nbsp'

Original source