如何从xml文件中的父标记的ID获取特定标记名称

时间:2015-04-27 06:19:42

标签: javascript xml canvas

我在画布上使用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

2 个答案:

答案 0 :(得分:0)

https://code.google.com/p/x2js/

查看XML to JSON转换器

答案 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>

希望一些小改动能让它适合你。