我需要获取此文件XML中包含的所有数据
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tags>
<Tag>
<Nome>#SaintDenis</Nome>
<Classe>21</Classe>
</Tag>
....
</Tags>
为了创建像这样的数组
arr [[SaintDenis, 21]......]
如何在javascript中解析xml文件的结构... 谢谢你的建议!
答案 0 :(得分:1)
你可以用JQuery做这样的事情:
$(document).ready(function()
{
$.get('myData.xml', function(d){
$('body').append('<h1> Recommended Web Development Books </h1>');
$('body').append('<dl />');
$(d).find('book').each(function(){
var $book = $(this);
var title = $book.attr("title");
var description = $book.find('description').text();
var imageurl = $book.attr('imageurl');
var html = '<dt> <img class="bookImage" alt="" src="' + imageurl + '" /> </dt>';
html += '<dd> <span class="loadingPic" alt="Loading" />';
html += '<p class="title">' + title + '</p>';
html += '<p> ' + description + '</p>' ;
html += '</dd>';
$('dl').append($(html));
$('.loadingPic').fadeOut(1400);
});
});
});
有关详细信息,请参阅http://code.tutsplus.com/tutorials/quick-tip-use-jquery-to-retrieve-data-from-an-xml-file--net-390
答案 1 :(得分:1)
您可以使用递归。
function iterate (node) {
for (var i = 0; i < node.childNodes.length; i++) {
var child = node.childNodes[i];
iterate(child);
//gather info here
}
}
希望这有帮助!
答案 2 :(得分:0)
这是你的输入,所以:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tags>
<Tag>
<Nome>#SaintDenis</Nome>
<Classe>21</Classe>
</Tag>
....
</Tags>
最好的事情就是这样做:
function getValues ( XMLnode ) {
var Values = [];
var childs = XMLnode.childNodes;
for (var i = 0; i < childs.length; i++) {
var array_temp = [];
if(childs[i].nodeName == 'Tag'){ // I think each tag have names and classe
var childsTag = childs[i].childNodes;
var array_temp_2 = [];
for (var i = 0; i < childs.length; i++) {
array_temp_2.push( childs[i].value ) ; // here you can use 'value'
// use your own tag('name' or whatever)
}
array_temp.push(array_temp_2);
}
Values.push( array_temp );
}
return Values;
}
这就是全部:
var valuesXML = [];
valuesXML = getValues( XMLnode ) ;