0
我有基於xml的遞歸dir列表。我想從特定目錄獲取文件列表。例如,我應該只獲取img2.gif和img3.gif和img6.gif。但腳本也會返回實際位於子目錄中的img4和img5,而我不想處理子目錄。 目標是從請求的目錄中獲取文件並忽略嵌套的子目錄。 一種方法是將xml結構從嵌套更改爲正常,但我不希望這樣。 XML使用jQuery解析遞歸dir列表的嵌套xml
<directory name=".">
<file name="img1.gif" />
<directory name="images">
<file name="images/img2.gif" />
<file name="images/img3.gif" />
<directory name="images/delta">
<file name="images/delta/img4.gif" />
<file name="images/delta/img5.gif" />
</directory>
<file name="images/img6.gif" />
</directory>
</directory>
JAVASCRIPT
function parse_files(path) {
$.ajax({
type: "GET",
url: "list.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('directory').each(function(){
if($(this).attr('name')==path) {
$(this).find('file').each(function(){
var list = $(this).attr('name');
alert(list);
});
}
});
}
});
}
parse_files("images");
// returns img2,img3,img4,img5,img6
// should return img2,img3,img6
'find()'發現所有'descendents'是更好的解釋,因爲'children'只被認爲是第一級下降 – charlietfl
@charlietfl - 謝謝,我沒有說話speaky englissh好。 – adeneo
謝謝@ adeneo.That訣竅。 有沒有一種方法/語法,我可以與名稱直接到達目錄,所以我不必.find('目錄')。每個(函數()? 我想避免迭代。 – django