Javascript 如何获取xml所有子节点的值?
我有一个包含文件夹和图像详细信息的xml。我使用jquery加载了一个xml,得到了文件夹详细信息,但现在我得到的图像路径不正确 images/ftest1.png,images/fstest1.png,images/fsstest1.png,images/stest1.png,images/sstest1.png 如何获得全部 MycodeJavascript 如何获取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
<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属性的所有源元素的列表。然后您可以从结果中获得所有图像