2016-06-29 34 views
0
<Root> 
    <Child1>First Child Value</Child1> 
    <Child2> 
    <Age>Age1 Value</Age> 
    <Age /> 
    <Name /> 
    </Child2> 
    <Child3>3-1</Child3> 
    <Child3>3-2</Child3> 
    <Child4>4</Child4> 
    <Child5>5</Child5> 
    <Child6>6</Child6> 
</Root> 

<script> 
    var xmlDoc = xml.responseXML; 
    var x = xmlDoc.getElementsByTagName("Root"); 
    alert(y[0].getElementsByTagName("Age")[0].childNodes[0].nodeValue); 
    alert(y[0].getElementsByTagName("Age")[1].childNodes[0].nodeValue); 
<script> 

我想從「根」>「Child2」>「Age [1]」得到一個空值,但我得到消息「0x800a138f-JavaScript運行時錯誤:無法獲取未定義或空引用的屬性'nodeValue'「。Javascript XML - 如何返回空值

有誰知道我在哪裏出錯了嗎?

回答

1

getElementsByTagName("Age")[1]給你<Age />

它沒有子節點,所以.childNodes[0]給你null

null.nodeValue是不允許的。


在嘗試讀取屬性之前,您需要測試y[0].getElementsByTagName("Age")[1].childNodes[0]是否爲真值。

+0

先生,你是明星! –