如何使用javascript从XML检索数据
我需要获取这个XML文件中包含的所有数据如何使用javascript从XML检索数据,javascript,arrays,xml,parsing,dom,Javascript,Arrays,Xml,Parsing,Dom,我需要获取这个XML文件中包含的所有数据 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <Tags> <Tag> <Nome>#SaintDenis</Nome> <Classe>21</Classe> </Tag> .... </Tags>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tags>
<Tag>
<Nome>#SaintDenis</Nome>
<Classe>21</Classe>
</Tag>
....
</Tags>
如何在javascript中解析xml文件的结构。。。
谢谢你的建议 您可以使用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);
});
});
});
$(文档).ready(函数()
{
$.get('myData.xml',函数(d){
$('body').append('Recommended Web Development Books');
$('body')。追加('');
$(d).find('book').each(函数(){
var$book=$(本);
var title=$book.attr(“title”);
var description=$book.find('description').text();
var imageurl=$book.attr('imageurl');
var html='';
html+='';
html+=''+title+'
';
html+=''+description+'';
html+='';
$('dl')。追加($(html));
$('.loadingPic')。衰减(1400);
});
});
});
有关更多信息,请参见。您可以使用递归
function iterate (node) {
for (var i = 0; i < node.childNodes.length; i++) {
var child = node.childNodes[i];
iterate(child);
//gather info here
}
}
函数迭代(节点){
对于(var i=0;i
希望这有帮助 这是您的输入,因此:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Tags>
<Tag>
<Nome>#SaintDenis</Nome>
<Classe>21</Classe>
</Tag>
....
</Tags>
<?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 ) ;