XML to HTML:修订间差异

来自站长百科
跳转至: 导航、​ 搜索
无编辑摘要
无编辑摘要
 
第28行: 第28行:
  alert('Your browser cannot handle this script');<br>
  alert('Your browser cannot handle this script');<br>
  }<br>
  }<br>
  if (xmlDoc!=null)<br>
  <nowiki> if (xmlDoc!=null)</nowiki><br>
  {<br>
  <nowiki>{</nowiki><br>
   xmlDoc.load("cd_catalog.xml");<br>
   <nowiki>xmlDoc.load("cd_catalog.xml");</nowiki><br>
  document.write("<table border='1'>");<br>
  <nowiki>document.write("<table border='1'>");</nowiki><br>
  var x=xmlDoc.getElementsByTagName("CD");<br>
  <nowiki>var x=xmlDoc.getElementsByTagName("CD");</nowiki><br>
  for (i=0;i<x.length;i++)<br>
  <nowiki>for (i=0;i<x.length;i++)</nowiki><br>
  { <br>
  <nowiki>{ </nowiki><br>
  document.write("<tr>");<br>
  <nowiki>document.write("<tr>");</nowiki><br>
  document.write("<td>");<br>
  <nowiki>document.write("<td>");</nowiki><br>
  document.write(<br>
  <nowiki>document.write(</nowiki><br>
  x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);<br>
  <nowiki>x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);</nowiki><br>
  document.write("</td>");<br>
  <nowiki>document.write("</td>");</nowiki><br>
  document.write("<td>");<br>
  <nowiki>document.write("<td>");</nowiki><br>
  document.write(<br>
  <nowiki>document.write(</nowiki><br>
  x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);<br>
  <nowiki>x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);</nowiki><br>
  document.write("</td>");<br>
  <nowiki>document.write("</td>");</nowiki><br>
  document.write("</tr>");<br>
  <nowiki>document.write("</tr>");</nowiki><br>
  }<br>
  }<br>
  document.write("</table>");<br>
  document.write("</table>");<br>
第55行: 第55行:
例子解释:<br>
例子解释:<br>
检测浏览器,然后使用合适的解析器来加载 XML <br>
检测浏览器,然后使用合适的解析器来加载 XML <br>
创建一个 HTML 表格(<table border="1">) <br>
<nowiki>创建一个 HTML 表格(<table border="1">) </nowiki><br>
使用 getElementsByTagName() 来获得所有 XML 的 CD 节点 <br>
使用 getElementsByTagName() 来获得所有 XML 的 CD 节点 <br>
针对每个 CD 节点,把 ARTIST 和 TITLE 中的数据显示为表格数据 <br>
针对每个 CD 节点,把 ARTIST 和 TITLE 中的数据显示为表格数据 <br>

2009年7月29日 (三) 14:10的最新版本

导航: 上一页 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion


在 HTML 中显示数据[ ]

在上一节中,我们讲解了如何通过 JavaScript 来解析 XML 并访问 DOM。

本例遍历一个 XML 文件 (cd_catalog.xml),然后把每个 CD 元素显示为一个 HTML 表格行:

<html>
<body>
<script type="text/javascript">
var xmlDoc=null;
if (window.ActiveXObject)
{
// code for IE
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation.createDocument)
{
// code for Mozilla, Firefox, Opera, etc.
xmlDoc=document.implementation.createDocument("","",null);
}
else
{
alert('Your browser cannot handle this script');
}
if (xmlDoc!=null)
{
xmlDoc.load("cd_catalog.xml");
document.write("<table border='1'>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
{
document.write("<tr>");
document.write("<td>");
document.write(
x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue);
document.write("</td>");
document.write("<td>");
document.write(
x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
document.write("</td>");
document.write("</tr>");
}

document.write("");

}
</script>
</body>
</html> TIY:在 HTML 表格中显示 XML 数据。

例子解释:
检测浏览器,然后使用合适的解析器来加载 XML
创建一个 HTML 表格(<table border="1">)
使用 getElementsByTagName() 来获得所有 XML 的 CD 节点
针对每个 CD 节点,把 ARTIST 和 TITLE 中的数据显示为表格数据

用 结束表格

如需更多有关 JavaScript 和 XML DOM 的信息,请访问我们的 XML DOM 教程。

跨域访问[ ]

出于安全方面的原因,现代的浏览器不允许跨域的访问。

这意味着,网页以及它试图加载的 XML 文件,都必须位于相同的服务器上。

W3School 的实例所打开的 XML 文件位于 W3School 的域上。

假如你打算在自己的网页上使用上面的例子,则必须把 XML 文件放到自己的服务器上。否则,xmlDoc.load() 将产生错误 "Access is denied"。