ó not allowed in xml file but allowed in .net resource file?
i'm parsing a few .net resource files (.resx).
In that, i have this piece of data:
información
开发者_如何学编程
This works in my .net app, but when i try to load this file in my xml document
XDocument xmlDoc = XDocument.Parse(s);
i get this error:
Reference to undeclared entity 'oacute'.
Why is that?
ó
is a named HTML entity that is not defined in XML.
XML only defines a subset of the named HTML entities (namely &
, '
, "
, >
and <
if memory serves).
You can use the numeric entity representation instead:
información
Or, in hexadecimal:
información
The entity oacute is not declared by default for XML. Try ó
instead. Here is a list of HTML entities with their corresponding codes, in case you have other similar problems.
If you'd prefer to continue using ó
, you can define the entity yourself.
If you are using a DTD, you can define it thus
<!ENTITY oacute "ó">
Or if using Schema, thus:
<xsd:element name="oacute" type="xsd:token" fixed="ó"/>
精彩评论