Javascript 如何获取xml所有子节点的值?

Javascript 如何获取xml所有子节点的值?,javascript,jquery,html,xml,xml-parsing,Javascript,Jquery,Html,Xml,Xml Parsing,我有一个包含文件夹和图像详细信息的xml。我使用jquery加载了一个xml,得到了文件夹详细信息,但现在我得到的图像路径不正确 images/ftest1.png,images/fstest1.png,images/fsstest1.png,images/stest1.png,images/sstest1.png 如何获得全部 Mycode <script> $(document).ready(function(){ $("#dvContent").ap

我有一个包含文件夹和图像详细信息的xml。我使用jquery加载了一个xml,得到了文件夹详细信息,但现在我得到的图像路径不正确

images/ftest1.png,images/fstest1.png,images/fsstest1.png,images/stest1.png,images/sstest1.png

如何获得全部

Mycode

    <script>
    $(document).ready(function(){
      $("#dvContent").append("<ul></ul>");
      $.ajax({
        type: "GET",
        url: "books.xml",
        dataType: "xml",
        success: function(xml){
        $(xml).find("FolderName").each(function(index, element){ 
        var levels = $(this).parents("OrgFolderDetails").size();
        var text = $(this).attr('name');
        var text1 = $(this).text();
        var html = "";
        //alert($(this).find("child[value='"+text+"']"));
        //alert($(this).children().size())
        var level_child=$(this).children().size();
        for(var j=0; j < level_child; j++){
            alert($(this).children().attr('path'));
        }
        for(var j=0; j < levels; j++){
            html += "-";  

        }


        html += "<li> "+text+"</li>"; //add in that space after the dashes, and the <br>

        $("#browser").append(html);
    });
      },
      error: function() {
        alert("An error occurred while processing XML file.");
      }
      });
    });

$(文档).ready(函数(){
$(“#dvContent”)。追加(“
    ”); $.ajax({ 键入:“获取”, url:“books.xml”, 数据类型:“xml”, 成功:函数(xml){ $(xml).find(“FolderName”).each(函数(索引,元素){ var levels=$(this).parents(“OrgFolderDetails”).size(); var text=$(this.attr('name'); var text1=$(this.text(); var html=“”; //警报($(this.find)(“子[值='”+text+“]]); //警报($(this.children().size()) var level_child=$(this.children().size(); 对于(var j=0;j”+text+“”;//在破折号和
    $(“#浏览器”).append(html); }); }, 错误:函数(){ 警报(“处理XML文件时出错。”); } }); });
    Xml

        <?xml version="1.0" encoding="utf-8"?>
        <OrgFolderDetails>
          <FolderName name="Main Folder"></FolderName>
          <TheChildren>
          <OrgFolderDetails>
            <FolderName name="First Sub Folder">
              <source path="images/ftest1.png"></source>
              <source path="images/ftest2.png"></source>
              <source path="images/ftest3.png"></source>
              <source path="images/ftest4.png"></source>
              <source path="images/ftest5.png"></source>
            </FolderName>
            <TheChildren>
            <OrgFolderDetails>
              <FolderName name="First Sub Siub Sub Folder">
                <source path="images/fstest1.png"></source>
                <source path="images/fstest2.png"></source>
                <source path="images/fstest3.png"></source>
                <source path="images/fstest4.png"></source>
                <source path="images/fstest5.png"></source>
              </FolderName>
              <TheChildren>
              <OrgFolderDetails>
                <FolderName name="First Sub Siub Sub Folder">
                  <source path="images/fsstest1.png"></source>
                  <source path="images/fsstest2.png"></source>
                  <source path="images/fsstest3.png"></source>
                  <source path="images/fsstest4.png"></source>
                  <source path="images/fsstest5.png"></source>
                </FolderName>
                <TheChildren>
                <OrgFolderDetails>
                  <FolderName name="First Sub Sub Sub Sub Folder"></FolderName>
                  <TheChildren/>
                </OrgFolderDetails>
                </TheChildren>
              </OrgFolderDetails>
              </TheChildren>
            </OrgFolderDetails>
            </TheChildren>
          </OrgFolderDetails>
          <OrgFolderDetails>
            <FolderName name="Second Sub Folder">
              <source path="images/stest1.png"></source>
              <source path="images/stest2.png"></source>
              <source path="images/stest3.png"></source>
              <source path="images/stest4.png"></source>
              <source path="images/stest5.png"></source>
            </FolderName>
            <TheChildren>
            <OrgFolderDetails>
              <FolderName name="Second Sub Sub Folder">
                <source path="images/sstest1.png"></source>
                <source path="images/sstest2.png"></source>
                <source path="images/sstest3.png"></source>
                <source path="images/sstest4.png"></source>
                <source path="images/sstest5.png"></source>
              </FolderName>
              <TheChildren/>
            </OrgFolderDetails>
            </TheChildren>
          </OrgFolderDetails>
          </TheChildren>
        </OrgFolderDetails>
    
    
    

    提前感谢

    显然,您需要一个XML解析器。您可以使用jquery、js或perl cgi脚本中的任何内容来完成这项工作。看看吧,我认为它最好回答您的问题(很好地查询答案),可能也会对您有所帮助。

    如果您在该xml文件上运行这个XPath表达式~//source[@path]~那么您将得到一个包含path属性的所有源元素的列表。然后您可以从结果中获得所有图像