Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript从XML检索数据_Javascript_Arrays_Xml_Parsing_Dom - Fatal编程技术网

如何使用javascript从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文件中包含的所有数据

    <?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 ) ;