2012-10-10 67 views
0

我有一个叫做“status.xml”文件,该文件包含以下内容:如何从Javascript中的.xml文件获取XML值?

<response> 
<r1>~relay(1)~</r1> 
<r2>~relay(2)~</r2> 
<ct>~currentime~</ct> 
<soc>~gaugeSOC~</soc> 
<t1>25</t1> 
</response> 

从位于相同的根目录作为我status.xml文件的.htm页,我希望获取的价值,将它解析为一个整数。我尝试了以下两种方法不成功:

<script> 
... 
xmlDoc=loadXMLDoc("status.xml"); 
gaugeSOC.setValue(xmlDoc.getElementsByTagName('t1')); 
</script> 

OR

<script> 
... 
var x = getXMLValue('status.xml', 't1'); 
gaugeSOC.setValue(x); 
</script> 

凡gaugeSOC.setValue(INT)接收一个整数。

我在做什么错?

+0

什么是错误你”重新获得? – VoronoiPotato

+0

'loadXMLDoc'或'getXMLValue'从哪里来?你可以使用文件路径吗?还是你需要使用URL,例如'loadXMLDoc(“http://yourdomain/subpath/status.xml”)' – paul

回答

0
xmlDoc.getElementsByTagName('t1') 

该行返回节点对象列表,因此不能直接转换为整数值。你必须选择正确的子元素第一:

x = xmlDoc.getElementsByTagName('t1') 
var i = x[0].childNodes[0].nodeValue; 

这应该做的工作,以供参考下面是一个例子,显示大概你正在尝试做的事:http://www.w3schools.com/dom/dom_nodes_nodelist.asp