2009-07-12 7 views
0

J'essaie d'aller chercher et d'analyser un fichier XML en javascript. Je ne contrôle pas le fichier XML.Comment analyser xml en ANSI ou Unicode en javascript?

Maintenant, l'encodage de certains fichiers XML a changé, ce qui fait que le code ne peut pas analyser le fichier autant que je le sache. Il était ANSI, certains sont Unicode maintenant (et ceux qui échouent). Existe-t-il un moyen d'obtenir correctement le contenu, donc les deux versions (ANSI et Unicode) fonctionnent?

fichiers juste commencer par: <?xml version="1.0"?>

Et la seule chose en javascript pour analyser est:

var parser = new DOMParser(); 
var dom = parser.parseFromString(responseDetails.responseText,"application/xml"); 

réponses jQuery sont très bien d'ailleurs, ne pas l'utiliser pour cette partie mais il est disponible .

+0

Si les fichiers ne spécifient pas d'encodage, ils ne devraient pas * être simplement codés en ANSI. Ils devraient être UTF-16 ou UTF-8. –

Répondre

1

Si le codage n'est pas correctement spécifié, je pense que vous allez devoir couper l'en-tête, puis attacher un nouvel en-tête spécifiant un codage candidat. Analysez cela, et si cela échoue, attachez un nouvel en-tête avec un nouveau codage candidat. Etc.

Bien sûr, une analyse réussie n'implique pas que vous ayez le codage à droite, mais un encodage qui passe l'étape d'analyse.

Le réel correction est de corriger le XML d'origine, malheureusement.