2012-10-10 107 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