0

我对 XML 很陌生,但即便如此,由于 w3school 的网站从文件中加载信息,我还是设法获得了一个工作脚本,这里是:http ://www.w3schools.com/xml/xml_dom.asp 。不幸的是,我遇到了一个重复站点的小问题,即使我进行了研究,我也没有找到答案。

除了 elementId 名称之外,该代码在我的第二个站点中是相同的。

我正在使用 wamp 服务器,我的 XML 文件“PortfolioInfo.xml”与我的 index.html 位于同一目录中,我的 xml 中的标签内有一个标签。我想将 XML 中的标记中的信息插入到 HTML 标记中。

我的 Javascript 是:

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","PortfolioInfo.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("contactName").innerHTML=xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;

如果我注释掉 document.getElementById 行,那么我的 Javascript 代码的其余部分不会中断,如果中断时没有注释掉。我尝试将它放在 HTML 文件本身的 body 标记末尾。

完整的 HTML 在这里:

<!DOCTYPE html>
<html>
<head>
    <title>Portfolio: Darrell James</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <link href='http://fonts.googleapis.com/css?family=Aldrich' rel='stylesheet' type='text/css'>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
</head>
<body>
<div id="home">

</div>

<div id="about">
    <div id="aboutHome"><span class="arrow"><<</span></div>
    <div id="aboutSlide">
        <div id="aboutText">
            about
        </div>
    </div>
</div>

<div id="gallery">
    <div id="galleryHome"><span class="arrow"><<</span></div>
    <div id="gallerySlide">
        <div id="galleryText">
            gallery
        </div>
    </div>
</div>
<div id="contact">
    <div id="contactHome"><span class="arrow"><<</span></div>
    <div class="nobr" id="contactContent">
        <span id="contactName">
        </span>
    </div>
    <div id="contactSlide">
        <div id="contactText">
            contact
        </div>
    </div>
</div>

<script src="script.js"></script>
<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","PortfolioInfo.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("contactName").innerHTML=xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;

</script>
</body>

我没有必要使用 XML,但我会很感激任何帮助。

4

0 回答 0