2011-11-10 128 views
2

在這裏,我想循環通過<detail>元素。雖然我可以在代碼中指定<detail>標籤名稱,但我無法使用子代的標籤名稱。我想知道這些元素的標籤名稱及其值。如何在不指定標籤名稱的情況下讀取XML中的子節點名稱及其值?

我該如何循環瀏覽並執行此操作?

<?xml version="1.0" encoding="utf-8" ?> 
<body> 
    <detail> 
    <FirstName>t1 </FirstName> 
    <LastName>t2</LastName> 
    <Company>t3</Company> 
    <Country>t4</Country> 
    <Proviance>MP</Proviance> 
    <city>indore</city> 
    </detail> 

    <detail> 
    <FirstName>t5 </FirstName> 
    <LastName>t6</LastName> 
    <Company>t7</Company> 
    <Country>t8</Country> 
    <Proviance>t9</Proviance> 
    </detail> 

    <detail> 
    <FirstName>t10 </FirstName> 
    <LastName>t11</LastName> 
    <Company>t12</Company> 
    <Country>t13</Country> 
    <Proviance>t14</Proviance> 
    </detail> 

</body> 

回答

8

怎麼樣;

var details = xml.getElementsByTagName("detail"); 
    for (var i = 0; i < details.length; i++) { 
     if (details[i].childNodes) { 
     for (var j = 0; j < details[i].childNodes.length; j++) { 
      var detail = details[i].childNodes[j]; 
      if (detail.nodeType === 1) 
       alert("details node " + (i + 1) + ": " + detail.nodeName + "=" + detail.firstChild.nodeValue); 
     } 
    } 

}

+2

+1明確&&簡單。偉大的提示! –

+0

xmlhttp.getElementsByTagName不是一個函數: - – NoviceToDotNet

+0

XML的例子是一個DOM對象不是一個XMLHTTP對象,所以它的'xmlhttp.responseXML' –

1

Here是一個用JavaScript解析XML的教程。也許它有幫助。

提示:搜索標記名的頁面

1

的JavaScript讀取XML另一位偉大的article上。

本教程僅涵蓋IE支持腳本,一點點閱讀可能會幫助您使其與其他瀏覽器兼容。

你可以在谷歌搜索「在Firefox瀏覽器XML語法分析器」這個文本將給予示例代碼更多的結果。

相關問題