2 votes

Comment analyser le XML en utilisant XElement.Parse sans regarder/changer les entités en caractères ?

Existe-t-il un moyen d'analyser le XML à l'aide de XElement.Parse qui ne convertit pas les entités en caractères ?

exemple :

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

et si j'analyse ceci en utilisant la méthode ci-dessous :

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

après l'analyse syntaxique, firstname La valeur est maintenant "Williáms".

Comment puis-je ignorer ces entités pour les changer ?

1voto

Cuong Le Points 29324

Le caractère "&" est illégal dans les éléments XML. "&" générera une erreur car l'analyseur syntaxique l'interprète comme le début d'une entité de caractère.

Pour être correct, votre Xml devrait utiliser CDATA :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X