0

一部のxmlをhtmlに表示するためにdocument.writeを実行しようとしています。私はJavascriptの初心者なので、ご容赦ください。これまでのコードは次のとおりです。

<script>
function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET","Data/xmlfile.xml",false);
xhttp.send();
return xhttp.responseXML;
} 
</script>

<body>

<script>

    xmlDoc=loadXMLDoc("Data/xmlfile.xmll");
    var x=xmlDoc.getElementsByTagName("col");
[0].childNodes[0].nodeValue + "<br>");
    document.write(xmlDoc.getElementsByName("Rep")[1].childNodes[0].nodeValue + "<br>");
    document.write(xmlDoc.getElementsByName("Rep")[2].childNodes[0].nodeValue + "<br>");
    document.write(xmlDoc.getElementsByName("Rep")[3].childNodes[0].nodeValue + "<br>");
    document.write(xmlDoc.getElementsByName("Rep")[4].childNodes[0].nodeValue + "<br>");
    document.write(xmlDoc.getElementsByName("Rep")[5].childNodes[0].nodeValue + "<br>");
    document.write(xmlDoc.getElementsByName("Rep")[6].childNodes[0].nodeValue + "<br>");


</script> 

 <div><span class="reps"></span></div>

私も試しました:

    //r = document.getElementById("reps");
        //var inh=document.getElementById("reps").innerHTML;
        //r.innerHTML = document.write(xmlDoc.getElementsByName("Rep")

    document.getElementById("reps").innerHTML=xmlDoc.getElementsByName("Rep")[7].childNodes[0].nodeValue;

そして、私は試しました:

  r.innerHTML = document.write(xmlDoc.getElementsByName("Rep")[0].childNodes[0].nodeValue + "<br>");

いくつかのサイトを調べたところ、document.write で XML を使用できないことが記載されています。これは本当ですか?Dreamweaver ライブでは機能するのに、サーバー上で実行すると機能しないのはなぜですか?

どうすればこれを機能させることができますか?

最終的に、XML から各ノード値を描画し、個別のハイパーリンクとして div に表示したいと考えています。すでに XML にハイパーリンクがあり、JavaScript を次のように記述しています。

document.write("9 - " + "<a href='" + xmlDoc.getElementsByName("RepWeb")[8].childNodes[0].nodeValue + "'>" + xmlDoc.getElementsByName("Rep")[8].childNodes[0].nodeValue + "</a>" + "<br>"); 

私は何を間違っていますか?

4

1 に答える 1

0

にしないでください!getElementsByNameはSafariでのみ機能します。最終的に、新しいXMLファイルを作成し、getElementByTagNameでテキストを取得しました。

于 2013-03-14T15:04:32.980 に答える