2013-08-02 88 views
0

我試圖從this XML file得到一個ID列表來填充幾個表。 我已經創建了在ColdFusion中執行數據庫插入的函數,所以我正在尋找一種方法從XML文件中獲取所需的內容。用ColdFusion提取XML數據

我很努力地試圖獲取每個項目類型(聯盟,國籍)的具體內容,因爲節點名稱是'怪怪的' - 當然對我來說。例如,我想2013年的聯賽落入節點下:

<trans-unit resname="global.leagueabbr15.2013.league50"> 
    <source>SPL</source> 
</trans-unit> 

其中「league50」是我想要的ID和(「SPL」)是文本值我想存儲。

我怎麼能循環每個2013.league獲得ID和源值?

(從評論更新)

我看了一下XML的搜索,但XML似乎並沒有被結構化的非常好,所以我需要resname的某一部分後,搜索。 (即在下面的XML我需要在最後拿到ID - >global.leagueabbr15.2013.league[ID]

<trans-unit resname="global.leagueabbr15.2013.league1"> 
    <source>Superliga</source> 
</trans-unit> 
<trans-unit resname="global.leagueabbr15.2013.league10"> 
    <source>Eredivisie</source> 
</trans-unit> 
<trans-unit resname="global.leagueabbr15.2013.league13"> 
    <source>Barclays PL</source> 
</trans-unit> 
+5

你有什麼thusfar試過? –

+0

而不是鏈接到1MB的文件,如果你在你的問題中只發布了一些你正在討論的相關XML,可能會有幫助 – duncan

+0

爲了讓你開始看看t ColdFusion函數[XmlParse](http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-6e90.html)和[XmlSearch](http://help.adobe.com/en_US/ ColdFusion /9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-78e8.html)。 –

回答

0

試試這個,其中XMLDATA表示文件揪成一個變量這會吐出所有的塊下面就。輸出更改爲resname測試是你想要的聯賽。然後,您可以參考source.xmltext環形塊下也是如此。

<cfscript> 
xmlContent = xmlParse(xmlData); 
subSet = xmlSearch(xmlContent,'/xliff/file/body/trans-unit/'); 

for(i=1; i LTE arrayLen(subSet); i++) { 
writeoutput(subSet[i].XMLAttributes.resname & "<br />"); 
} 
</cfscript> 
+0

但我如何檢查聯盟名稱?根據我上面的更新,我可以使用通配符嗎? – CPB07

+0

而不是writeoutput只是做一個如果在同一個var是什麼聯賽名稱。 –