我是新手并试图遍历ajax加载的xml文件。我试图从中填充所有的名字和城市,如果这个名字很常见,那么我只是将这个城市作为通用名称附加。
我的xml文件
<Info>
<detail>
<country>US</country>
<name>Edward</state>
<city>San bruno</city>
</detail>
<detail>
<country>US</country>
<name>Edward</state>
<city>Charleston </city>
</detail>
</info>
我试图以这样的格式显示它
Edward
San Bruno
Charleston
我的jquery代码看起来像这样
$.ajax({
type: "GET",
url: "sheet.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('detail').each(function(){
var Pname = $(this).find('name').text();
$('<div class="items" id="link"> </div>').html('<Strong>'+name+'</Strong>').appendTo('#content');
if(Pname = $(xml).find('name').each(function(){
var city = $(this).find('city').text();
var full = name + ","+city;
$('<div class="items" id="link"></div>').html('<a href="'+city+'">'+city+'</a>').appendTo('#content');
});
我只是不能再循环它,以便我可以找到同名但不同城市的人,因此根据不同的位置将它们放在一起。 任何帮助,将不胜感激。提前谢谢..
答案 0 :(得分:0)
您应该可以修改此功能以在您的成功功能中使用:
var xmlString = "<Info><detail><country>US</country><name>Edward</name><city>San bruno</city> </detail><detail><country>US</country><name>Edward</name><city>Charleston </city> </detail><detail><country>US</country><name>John</name><city>Charleston </city> </detail><detail><country>US</country><name>John</name><city>Dallas</city></detail></Info>",
xmlDoc = $.parseXML(xmlString),
$xml = $(xmlDoc),
$name = $xml.find("name");
var prevName = "";
$name.each(function() {
var currNode = $(this);
var currName = currNode.text();
if (currName != prevName) {
document.write(currName + "<br />");
document.write(currNode.next().text() + "<br />");
prevName = currName;
} else {
document.write(currNode.next().text() + "<br />");
}
});
jsfiddle:http://jsfiddle.net/jensbits/Z6Bst/