我尝试解析以下类型的XML (来自getMembers.php):的数据
<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
<id>3422345</id>
<name>Bill Gates</name>
<id>232311</id>
<name>Bob Barker</name>
</members>
我使用下面的代码来解析它:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "GET",
url: "getMembers.php",
cache: false,
dataType: "xml",
success: function(xml) {
$(xml).find('members').each(function(){
var name = $(this).find("name").text()
alert(name);
});
}
});
});
</script>
没有错误,但我同时得到了两个名字。
像这样:
GatesBob Barker <--first loop>
而不是
比尔·盖茨<--first loop>
鲍勃·巴克<--second loop>
任何帮助都是最好的!
发布于 2012-04-19 16:15:49
我认为应该遍历成员,而不是名称:
success: function(xml) {
$(xml).find('members').each(function(){
$(this).find("name").each(function(){
var name = $(this).text();
alert(name);
});
});
}
或者,您的XML应该如下所示:
<members>
<id>3422345</id>
<name>Bill Gates</name>
</members>
<members>
<id>232311</id>
<name>Bob Barker</name>
</members>
发布于 2016-10-06 21:56:09
这样就可以显示名字:
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "GET",
url: "getMembers.php",
cache: false,
dataType: "xml",
success: function(xml) {
$(xml).find('name').each(function(){
var name = $(this).text();
alert(name);
});
}
});
});
发布于 2018-03-04 07:23:24
我只是想知道您是否成功地解析了XML数据。
有效的XML格式如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
<member>
<id>3422345</id>
<name>Bill Gates</name>
</member>
<member>
<id>232311</id>
<name>Bob Barker</name>
</member>
</members>
https://stackoverflow.com/questions/10223865
复制相似问题