Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
800 views
in Technique[技术] by (71.8m points)

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

    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'

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...