2009-07-12 135 views
0

我试图通过JavaScript获取和解析XML文件。我不控制XML文件。如何在ANSI中解析xml或在javascript中解析Unicode?

现在不知何故某些XML文件的编码发生了变化,导致代码无法解析文件,据我所知。它曾经是ANSI,现在有些是Unicode(而且那些都是失败的)。有没有办法让我正确地获取内容,因此两个版本(ANSI和Unicode)都可以工作?

文件刚刚开始: <?xml version="1.0"?>

而在JavaScript中解析的唯一的事情是:

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

jQuery的答案都很好顺便说一句,不使用它的这部分,但它是可用。

+0

如果文件没有指定编码,他们真的*不应该只是ANSI编码。它们应该是UTF-16或UTF-8。 – 2009-07-12 13:39:41

回答

1

如果编码没有正确指定,我认为你将不得不关闭标题,然后附加一个指定候选编码的新标题。解析它,如果失败,请使用新的候选编码附加新标头。等等。

当然,一个成功的解析并不意味着你已经得到了编码的,而是一个通过解析阶段的编码。

real不幸的是,修正是纠正原始XML。