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 に答える