实际上我只是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酒店
答案 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文件的编码格式?可以从那里来。