我在画布上使用JavaScript AJAX显示XML文件中的记录。我的目的是显示来自特定父标记id而不是完整列表的子记录。
XML文件:
<Content>
<pages>
<page id="1">
<flag id="1">
<lang id="eng">
<img>img/abc1.PNG</img>
</lang>
<lang id="eng">
<img>img/abc2.PNG</img>
</lang>
<lang id="eng">
<img>img/abc3.PNG</img>
</lang>
</flag>
</page>
<page id="2">
<flag id="1">
<lang id="eng">
<img>img/xyz1.PNG</img>
<img>img/xyz2.PNG</img>
</lang>
</flag>
</page>
</pages>
</Content>
我想获取图片名称,其中页面ID =&#34; 1&#34;
预期产出:
img/abc1.PNG
img/abc2.PNG
img/abc3.PNG
答案 0 :(得分:0)
答案 1 :(得分:0)
试试这个,
var xmlString = '<Content><pages> <page id="1"> <flag id="1"> <lang id="eng"> <img>img/abc1.PNG</img> </lang> <lang id="eng"> <img>img/abc2.PNG</img> </lang> <lang id="eng"> <img>img/abc3.PNG</img> </lang> </flag> </page> <page id="2"> <flag id="1"> <lang id="eng"> <img>img/xyz1.PNG</img> <img>img/xyz2.PNG</img> </lang> </flag> </page> </pages></Content>',
xmlDoc = $.parseXML(xmlString),
$xml = $(xmlDoc);
for (var i = 0; i < $xml.find("page").length; i++) {
if ($($xml.find("page")[i]).attr('id') == 1) {
alert($($xml.find("page")[i]).find('img').text());
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
希望一些小改动能让它适合你。