如何使用XElement.Parse解析XML而不查看/更改实体到字符?

时间:2012-11-05 05:12:30

标签: c# xml xml-parsing linq-to-xml xelement

是否可以使用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”

如何忽略要更改的实体?

1 个答案:

答案 0 :(得分:1)

字符&#34;&amp;&#34;在XML元素中是非法的。 &#34;&安培;&#34;将生成错误,因为解析器将其解释为字符实体的开头。

要纠正,你的Xml应该使用CDATA:

var xmlText = "<name><firstname><![CDATA[Willi&aacute;ms]]></firstname></name>";