Javascript Xml计数

Javascript Xml计数,javascript,xml,nodes,Javascript,Xml,Nodes,示例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&l

示例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>
这给了我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

}
var nodes=xmlDoc.getElementsByTagName('node'),//获取标记
amountOfNodes=nodes.length
对于(var i=0;i
告诉我这是否解决了您的问题:)

试试这个:

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

}
var nodes=xmlDoc.getElementsByTagName('node'),//获取标记
amountOfNodes=nodes.length
对于(var i=0;i

告诉我这是否解决了您的问题:)

谢谢节点[i].getElementsByTagName('alarm')。长度是我需要的。谢谢!谢谢节点[i].getElementsByTagName('alarm')。长度是我需要的。谢谢!
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

}