2015-04-27 26 views
0

我在畫布上使用JavaScript AJAX顯示XML文件中的記錄。我的意圖是顯示來自特定父標記ID而不是完整列表的子記錄。如何從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 = 「1」

預期輸出:

img/abc1.PNG 
img/abc2.PNG 
img/abc3.PNG 

回答

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>

希望一些小小的改變讓他爲你工作。

+0

感謝您的回覆。但我想說,我的XML數據將是動態的。我正在處理具有不同記錄的相同XML結構格式。現在我正在使用Ajax閱讀XML文件。 –

相關問題