AJAX/Jquery XML 解析
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/10223865/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
AJAX / Jquery XML parse
提问by StealthRT
I try parsing the following type of XML (data from getMembers.php):
我尝试解析以下类型的 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>
And I use the code below to parse it:
我使用下面的代码来解析它:
<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>
No error but I get both names at the same time.
没有错误,但我同时得到两个名字。
Like:
喜欢:
Bill GatesBob Barker <--first loop>
比尔盖茨Bob Barker <--first loop>
Instead of
代替
Bill Gates <--first loop>
Bob Barker <--second loop>
比尔盖茨 <--first loop>
Bob Barker <--second loop>
Any help would be great!
任何帮助都会很棒!
回答by fmgp
I think you iterate over members, not names:
我认为您迭代成员,而不是名称:
success: function(xml) {
$(xml).find('members').each(function(){
$(this).find("name").each(function(){
var name = $(this).text();
alert(name);
});
});
}
Or maybe your XML should looks like:
或者,您的 XML 应该如下所示:
<members>
<id>3422345</id>
<name>Bill Gates</name>
</members>
<members>
<id>232311</id>
<name>Bob Barker</name>
</members>
回答by Victor Cardenas
This way show names:
这种方式显示名称:
<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);
});
}
});
});
回答by user2780947
Just wondering if you successfully parsed that XML data.
只是想知道您是否成功解析了该 XML 数据。
The valid XML format is below:
有效的 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>