示例XML。
<node>
<nodeid>28</nodeid>
<account_no xsi:nil="true" />
<address1>15 CANCUN CT</address1>
<serial_no>112199543</serial_no>
<x_lat>25.95513358000</x_lat>
<y_lon>-97.49027147000</y_lon>
<alarm>
<alarmid>Outage</alarmid>
<alarmtime>2012-07-30T14:46:29</alarmtime>
</alarm>
<alarm>
<alarmid>Restore</alarmid>
<alarmtime>2012-07-30T14:55:29</alarmtime>
</alarm>
</node>
<node>
<nodeid>67</nodeid>
<account_no>274192</account_no>
<address1>1618 CHIPINQUE DR</address1>
<serial_no>112199521</serial_no>
<x_lat>25.95286395000</x_lat>
<y_lon>-97.49323166000</y_lon>
<alarm>
<alarmid>Outage</alarmid>
<alarmtime>2012-07-30T14:46:29</alarmtime>
</alarm>
</node>
</ROOT>
我想算一下
<alarm>
第一个节点具有的元素以及第二个节点具有的元素。我试图在for循环中执行此操作...
xmlDoc.getElementByTagName('alarm')[i].length;
这给了我xml文件中所有数量的“警报”标签。我想要的是当前的“节点”警报元素。所以这就是我想要的,我想告诉我第一个有2
<alarm>
标签,第二个“节点”具有1
<alarm>
只是JavaScript而没有jQuery。
最佳答案
尝试这个:
var nodes = xmlDoc.getElementsByTagName('node'), //Get the <node> tags
amountOfNodes = nodes.length
for(var i = 0; i < amountOfNodes; i++) { //loop thru the nodes
console.log(nodes[i].getElementsByTagName('alarm').length); //get the amount of <alarm> tags
}
编辑
这是一个工作示例:Fiddle。
告诉我是否可以解决您的问题:)
关于javascript - Javascript Xml计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11747868/