2

有没有一种方法可以使用不会将实体转换为字符的 XElement.Parse 来解析 XML?

例子:

var xmlText = "<name><firstname>Willi&aacute;ms</firstname></name>";

如果我使用以下方法解析它:

var element = XElement.Parse(xmlText);
var firstname = element.Element("firstname");

解析后,firstname值现在是“Williáms”

我怎样才能忽略那些实体来改变?

4

1 回答 1

1

字符“&”在 XML 元素中是非法的。"&" 将产生错误,因为解析器将其解释为字符实体的开始。

为了更正,您的 Xml 应该使用 CDATA:

var xmlText = "<name><firstname><![CDATA[Willi&aacute;ms]]></firstname></name>";
于 2012-11-05T05:24:02.380 回答