【问题标题】:XML elements not displaying in HTML page? [closed]XML 元素未显示在 HTML 页面中? [关闭]
【发布时间】:2014-01-02 07:44:23
【问题描述】:

我有点问题。我已经开始创建一个 HTML 页面,并且我的 XML 有一个单独的文档,我需要将 XML 中的某些元素显示到 HTML 页面中。我一直在 W3 School 上并使用以下代码并尝试将其操作到我的 HTML 页面中

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"></script>
</head>
<body>
<script>
  xmlDoc=loadXMLDoc("books.xml");

  document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue + "<br>");
  document.write(xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue + "<br>");
  document.write(xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue);
</script>
</body>
</html>

然而,我得到的只是我用 HTML 制作的,与 XML 无关。我用上面的代码创建了另一个文档,我得到的只是一个白页。我为此尝试了 Internet Explorer 和 chrome。 W3学校的链接是:

http://www.w3schools.com/dom/tryit.asp?filename=try_dom_parsertest

有什么帮助吗?

【问题讨论】:

  • loadxmldoc.js 看起来像什么? books.xml 是什么样的?您的浏览器的 JavaScript 控制台报告什么?
  • @Quentin - 如果他使用的是 W3S 示例,那么 books.xml 在这里:w3schools.com/dom/books.xml。我怀疑问题出在 loadxmldoc.js 中

标签: html css xml dom xslt


【解决方案1】:

我对您的代码进行了一些调整,以下工作正常。我从我认为您正在使用的 w3s 教程中获取它。我认为您可以放心地删除 IE5/6 特定代码!

<!DOCTYPE html>
<html>
<head>
<script>
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else // IE 5/6
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET","books.xml",false);
xhttp.send();
xmlDoc=xhttp.responseXML;
</script>
</head>
<body>
<script>
  document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue + "<br>");
  document.write(xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue + "<br>");
  document.write(xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue);
</script>
</body>
</html>

我在这里假设您的 books.xml 文件是这里的文件 http://www.w3schools.com/dom/books.xml

一个警告 - 只有通过网络服务器查看它才有效 - 因此您需要在自己的 PC 上使用开发服务器或将其上传到某个地方,如果您直接在浏览器中打开它,它将无法正常工作。

我推荐使用 XSLT 来处理 XML http://www.w3schools.com/xml/xml_xsl.asp

【讨论】:

  • 谢谢 =) 我选择了 XSLT,它无疑让我的生活更轻松。谢谢推荐=)
猜你喜欢
  • 2023-03-03
  • 2021-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
  • 2013-12-08
相关资源
最近更新 更多