在HTML选项卡中显示XML子项

时间:2014-02-04 10:56:26

标签: javascript xml

我正在尝试显示来自XML代码的数据:

<escrutinio_sitio>
    <resultados>
       <numero_partidos>4</numero_partidos>

    <partido>
        <nombre>IU</nombre>
        <electos>2</electos>
        <electo1>AMADEU SANCHIS I LABIÓS</electo1>
        <electo2>ROSA ALBERT BERLANGA</electo2>
        <votos_numero>28489</votos_numero>
        <votos_porciento>7,17</votos_porciento>
    </partido>

    <partido>
        <nombre>COMPROMÍS-Q</nombre>
        <electos>3</electos>
        <electo1>JOAN RIBÓ CANUT</electo1>
        <electo2>CONSOL CASTILLO PLAZA</electo2>
        <electo3>MARIA PILAR SORIANO RODRIGUEZ</electo3>
        <votos_numero>35881</votos_numero>
        <votos_porciento>9,03</votos_porciento>
    </partido>

</resultados>

</escrutinio_sitio>

为此,我有这个JavaScript代码,试图在不同标签的标题中获取nombre标记值,但它不能正常工作。

<script>
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","resultadosval.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.write("<ul class="nav nav-tabs">");
var branch = xml_doc.getElementsByTagName("partido");
for(i=0;i<branch.length;i++) {
    subbranch = branch[i].childNodes ;
    for(j=0;j<subbrach.length;j++) {
        if (subbranch[j].nodeName=="nombre" ){
        document.write("<li class="active"><a href="#tab_a" data-toggle="tab">");
        document.write(subbranch[j].childNodes[0].nodeValue);
        document.write("</a></li>");}
    }
            }
document.write("</ul>");
</script>

我做错了什么?

谢谢

1 个答案:

答案 0 :(得分:0)

请注意引号“”和“..”请注意,您有字符串中断,会引发错误和脚本执行中断。由于你似乎有问题

<script>
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","resultadosval.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.write("<ul class='nav nav-tabs'>");
var branch = xml_doc.getElementsByTagName("partido");
for(i=0;i<branch.length;i++) {
    subbranch = branch[i].childNodes ;
    for(j=0;j<subbrach.length;j++) {
        if (subbranch[j].nodeName=="nombre" ){
        document.write("<li class='active'><a href='#tab_a' data-toggle='tab'>");
        document.write(subbranch[j].childNodes[0].nodeValue);
        document.write("</a></li>");}
    }
            }
document.write("</ul>");
</script>