0

我试图从这个 XML 文件中获取一个 ID 列表来填充几个表。我已经创建了在 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>
4

1 回答 1

0

试试这个,其中 xmlData 表示将文件拉入变量。这将吐出下面的所有块。只需将输出更改为重新命名为您想要的联赛的测试。然后,您也可以引用循环块下的 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>
于 2013-08-02T13:37:19.807 回答