我已通过以下格式从网络服务获得xml
<NewDataSet>
<Table>
<TelecallerName>AutoTelecaller_new</TelecallerName>
<BASE>Aug 2015</BASE>
<Location_x0020_Calling>0</Location_x0020_Calling>
<NE>0</NE>
<Sales_x0020_Open>0</Sales_x0020_Open>
<TeleCaller_x0020_Follow_x0020_Up>1</TeleCaller_x0020_Follow_x0020_Up>
</Table>
<Table>
<TelecallerName>jiteshkumar</TelecallerName>
<BASE>Aug 2015</BASE>
<Location_x0020_Calling>1</Location_x0020_Calling>
<NE>1</NE>
<Sales_x0020_Open>1</Sales_x0020_Open>
<TeleCaller_x0020_Follow_x0020_Up>29</TeleCaller_x0020_Follow_x0020_Up>
</Table>
</NewDataSet>
在这里,我希望获得TelecallerName
,Base
等列名。简而言之,我想找到第一个Table
节点的子节点。我怎么能得到它?
我尝试过(由charlietfl建议)
var x = $.parseXML(xml);
$(x).find('Table').each( function() {
console.log($(this).text());
});
但是控制台提供了
AutoTelecaller_new Aug 2015 0 0 0 1 (index):28
jiteshkumar Aug 2015 1 1 1 29
答案 0 :(得分:1)
children()
是一个函数,但是如果你在console.log($(selector).children)
没有使用()
调用子函数的情况下执行,你看到的是实际的函数本身,而不是函数返回的内容
变化:
console.log( $(x).find('Table').children );
要:
console.log( $(x).find('Table').children() );
以下内容在第一个<Table>
var x = $.parseXML(xml);
var $firstTable= $(x).find('Table').eq(1);
var colNames =$firstTable.children().map(function(){
return this.tagName;
}).get();
console.log (colNames);
答案 1 :(得分:1)
var xml ='YOUR XML HERE';
var mynodes =[];
mynodes = $(xml).children()
http://jsfiddle.net/u98077xL/3/
mynodes
现在是每个节点及其值的JSON数组。你可以迭代这个(例如使用each
)并获得你想要的任何节点。