有没有一种方法可以使用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”

如何忽略那些要更改的实体?

最佳答案

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

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

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

关于c# - 如何在不查找/将实体更改为字符的情况下使用XElement.Parse解析XML?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13226273/

10-13 06:08