如何在不指定标记名称的情况下读取XML中的子节点名称及其值?

时间:2011-11-10 12:35:54

标签: javascript xml dom

在这里,我想循环遍历<detail>元素。虽然我可以在代码中指定<detail>标记名称,但我无法使用子代码的标记名称。我想知道这些元素的标签名称及其值。

我如何循环播放它们并执行此操作?

<?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>

3 个答案:

答案 0 :(得分:10)

怎么样;

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 );
        }
    }
}

答案 1 :(得分:1)

Here是使用JavaScript解析XML的教程。也许有帮助。

提示:在页面上搜索tagName

答案 2 :(得分:1)

javascript中读取xml的另一个很棒的article

本教程仅涵盖IE支持脚本,稍微阅读可能会帮助您使其与其他浏览器兼容。

您可以在Google上搜索此文字“Firefox浏览器中的XML解析器”将通过示例代码提供更多结果。