2009-07-12 128 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。