通过Javascript将XML节点调用为HTML在Dreamweaver中工作,但在服务器中尝试时会生成一个空白页面

通过Javascript将XML节点调用为HTML在Dreamweaver中工作,但在服务器中尝试时会生成一个空白页面,javascript,html,xml,innerhtml,Javascript,Html,Xml,Innerhtml,我正在尝试编写一个document.write,以便在html中显示一些xml。请容忍我,因为我是Javascript的初学者。以下是我目前掌握的代码: <script> function loadXMLDoc() { if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.op

我正在尝试编写一个document.write,以便在html中显示一些xml。请容忍我,因为我是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.innerHTML = document.write(xmlDoc.getElementsByName("Rep")[0].childNodes[0].nodeValue + "<br>");
r.innerHTML=document.write(xmlDoc.getElementsByName(“Rep”)[0].childNodes[0].nodeValue+“
”;
在研究一些网站时,它提到XML不能与document.write一起使用。这是真的吗?为什么它在Dreamweaver live中工作,但在服务器上运行时却不工作

我怎样才能让它工作

最后,我希望从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>"); 
document.write(“9-”+”+“+”
”);

我做错了什么?

没关系,我明白了!getElementsByName仅适用于Safari。最后,我编写了一个新的XML文件,并通过getElementByTagName提取文本

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