xml对象中的特殊字符问题

时间:2010-09-24 19:19:55

标签: javascript xml ajax

实际上我只是XML的入门者。 在我的一项任务中,我正在做以下事情:

var req = new XMLHttpRequest(); 
req.open('GET', 'http://www.mohin.com/test.xml', false);
req.send();  
var xmlObj = req.responseXML;

现在,我将XML格式化为:

<?xml version="1.0" encoding="utf-8"?>
 <Items status="as">
    <Song title="Helios (Original Mix)">
       <Artist name="Chris Hingher" ID="291728"></Artist>
       <Info StartTime="19:37:39" JazlerID="2219" PlayListerID="" />
    </Song>
    <Song title="I Was Drunk">
       <Artist name="Riva Starr Feat. N�ze" ID="292052"></Artist>
       <Info StartTime="19:45:38" JazlerID="2267" PlayListerID="" />
    </Song>
    .............
 </Items>

你可以看到第二个标签中tag的name属性中有一个特殊字符,为此我得到一个解析错误,为此我无法读取XML对象。请参阅此标记:<Artist name="Riva Starr Feat. N�ze" ID="292052"></Artist>并查看其名称属性。

有没有人可以帮我解决这个问题? 我真的需要像这样检索每个艺术家的名字:

var info = xmlObj.getElementsByTagName("Song")[0];
var artistName = info.childNodes[j].attributes.getNamedItem('name').nodeValue;

由于 Mohin酒店

3 个答案:

答案 0 :(得分:3)

看起来用于保存XML文档的编码不是XML prolog(encoding =“utf-8”)中指定的编码。如果XML文件由哑编辑器手动编辑和保存,则会发生这种情况。

假设您可以更改XML文档,请将encoding属性从“utf-8”修改为“iso-8859-1”。如果有效,那么您应该更加小心XML的编码文档。

答案 1 :(得分:1)

创建XML文件时,使用UTF-8保存它,并声明使用UTF-8保存它。

答案 2 :(得分:0)

您是否检查过XML文件的编码格式?可以从那里来。

相关问题