2009-07-12 9 views
0

Ich versuche, eine XML-Datei über Javascript abzurufen und zu analysieren. Ich kontrolliere nicht die XML-Datei.Wie analysiert man XML in ANSI oder Unicode in Javascript?

Jetzt irgendwie die Codierung einiger XML-Dateien geändert, was dazu führt, dass der Code nicht in der Lage ist, die Datei so weit zu analysieren, wie ich sagen kann. Früher war es ANSI, einige sind jetzt Unicode (und diese sind fehlgeschlagen). Gibt es eine Möglichkeit für mich, den Inhalt richtig zu bekommen, so dass beide Versionen (ANSI und Unicode) funktionieren?

Dateien starten Sie einfach mit: <?xml version="1.0"?>

Und das einzige, was in JavaScript zu analysieren ist:

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

jQuery-Antworten btw fein sind, nicht für diesen Teil verwenden, aber es ist verfügbar .

+0

Wenn die Dateien keine Codierung angeben, sollten sie * nicht * nur ANSI-codiert sein. Sie sollten UTF-16 oder UTF-8 sein. –

Antwort

1

Wenn die Codierung nicht korrekt angegeben ist, denke ich, dass Sie die Kopfzeile deaktivieren müssen, und fügen Sie dann eine neue Kopfzeile hinzu, die eine Kodierung für Kandidaten angibt. Analysieren Sie das, und wenn es fehlschlägt, fügen Sie einen neuen Header mit einer neuen Kodierung für Kandidaten hinzu. Und so weiter.

Natürlich bedeutet eine erfolgreiche Analyse nicht, dass Sie die richtige Codierung haben, aber eine Codierung, die die Parsing-Phase übergibt.

Die echte Korrektur ist die ursprüngliche XML leider zu korrigieren.

Verwandte Themen