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

前端 未结 3 1380
南笙
南笙 2020-12-11 00:24
    XmlDocument xmldoc = new XmlDocument();
    xmldoc.XmlResolver = null;

    xmldoc.Load(\"URL\");
    XmlWriter xmlWrite = XmlWriter.Create(@Server.MapPath(\"Tes         


        
相关标签:
3条回答
  • 2020-12-11 00:42

    I had this same problem today, and I was able to solve it by changing the HTML entity name to an HTML entity number.

    Per this helpful forum post, I was able to fix this error.

    HTML entity names are not well supported in XML. This is why the "nonbreaking space"--"nbsp"--triggers this frustrating error.

    The easiest way to fix this issue is to use HTML entity numbers, which means changing   to  .

    For a comprehensive listing of HTML entities with names and numbers, see:

    W3 School's HTML Entity reference page.

    Official W3C Page on Entity Sets.

    0 讨论(0)
  • 2020-12-11 00:43

    Late to this, but you can also replace &nbsp with   if you don't want to remember what   means.

    0 讨论(0)
  • 2020-12-11 00:54

    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.

    0 讨论(0)
提交回复
热议问题