我有一个像这样的xml对象:
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <fxf version="1.0" data="hold">
- <report records="168" lines="168" columns="15" rows="168">
<target format="" version="" type="" destination="HOLD" />
- <column_desc>
<col colnum="c0" fieldname="FUND_NAME_DISP" datatype="char"/>
<col colnum="c1" fieldname="FUND_CODE" datatype="char"/>
<col colnum="c2" fieldname="FUND_NAME" datatype="char"/>
<col colnum="c3" fieldname="FUND_CODE_2" datatype="char"/>
<col colnum="c4" fieldname="FUND_NAME_2" datatype="char"/>
<col colnum="c5" fieldname="CURRENCY" datatype="char"/>
</column_desc>
</report>
</fxf>
我需要编写一个jQuery函数,通过搜索“fieldname”属性来返回“colnum”属性。例如
$.searchCol(myXml,'CURRENCY') will return "c5".
这就是我的草案代码:
$.searchCol = function(xml, search_field_name){
var colNode = $('column_desc col', xml).first();
while(colNode.length){
if(colNode.attributes['fieldname']==search_field_name){
return colNode.attributes['colnum'];
}
colNode.next();
};
return null
})
但是colNode.attributes不会返回节点中所有属性的集合。
请帮忙......
答案 0 :(得分:0)
function find(where, what) {
return $($.parseXML(where))
.find('col[fieldname=' + what + ']')
.attr('colnum');
}
console.log(find(xml, 'CURRENCY')); //c5