带有显示XML数据的HTML的空白页
Blank page with HTML displaying XML data
我有一个html文档,它用xml存档提供的数据创建了一个表。在adobe括号的实时预览中,我可以看到页面和数据。
但是,当我尝试在IE、Firefox或Chrome等浏览器中打开时,页面会显示为空白。
这里是html代码的一部分,下面是xml代码。
这是html代码
<!DOCTYPE html>
<html>
<head>
<style>
table { border-collapse: collapse; font-family: Futura, Arial, sans-serif; border: 1px solid #777; }
caption { font-size: larger; margin: 1em auto; }
th, td { padding: .65em; }
th, thead { background: #000; color: #fff; border: 1px solid #000; }
tr:nth-child(odd) { background: #ccc; }
tr:hover { background: #aaa; }
td { border-right: 1px solid #777; }
</style>
</head>
<body>
<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","prueba_new.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write("<table><tr><th>CardN</th><th>CardC</th><th>CardE</th><th>CardNe</th></tr>");
var x=xmlDoc.getElementsByTagName("CCard");
for (i=0;i<x.length;i++)
{
document.write("<tr><td>");
document.write(x[i].getElementsByTagName("CardN")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("CardC")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("CardE")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("CardNe")[0].childNodes[0].nodeValue);
document.write("</td></tr>");
}
document.write("</table>");
</script>
</body>
</html>
这是xml代码,当然,实际的xml文件,包含数百个条目。
<?xml version="1.0"?>
<numbers>
<CCard>
<CardNe>Volkervun</CardNe>
<CardN>10000034999</CardN>
<CardC>Red Team</CardC>
<CardE>Volker.vcd</CardE>
</CCard>
<CCard>
<CardNe>Lady Mars</CardNe>
<CardN>10009899899</CardN>
<CardC>Blue Team</CardC>
<CardE>LadyM.vcd</CardE>
</CCard>
</numbers>
我尝试了几种方法,但都不起作用。对那张空白页有什么想法吗?
如果您只需双击计算机上的.html文件就可以在浏览器中打开该文件,那么您是在file://
协议下打开它的。XML文件的GET请求将失败,因为浏览器跨源沙盒:file://
下的每个页面都被视为一个单独的域,因此您的.html页面不允许读取.XML文件。
它在Brackets中工作,因为Live Preview加载了一个简单的本地Web服务器,所以您的页面是在浏览器中根据http://
协议查看的。要在没有Brackets的情况下复制效果,请运行不同的本地Web服务器。
我个人最喜欢的测试简单Web服务器是serf-如果你的计算机上安装了NodeJS,你可以通过在命令行上键入npm install -g serf
来安装它。然后,只需在.html文件所在的任何文件夹中键入serf
即可启动服务器。
相关文章:
- 如何删除多行HTML排列中的空白
- 带有显示XML数据的HTML的空白页
- target=“_空白“;使用自定义javascript生成的html页面
- 我们怎么知道消除HTML/JS/CSS文件中的空白可以缩短页面加载时间呢
- HTML/JavaScript未在空白chrome页面上运行
- 从列表标记和表标记中删除HTML中的空白
- 为什么我在所有HTML内容下面都有一个很大的空白
- 如何设置iframe以自动填充HTML中的空白正文空间
- 如何使用jquery在html表的右侧添加一定数量的空白列
- $('body').html()从来自Firefox中$jQuery.post的响应数据中给出了空白内容
- 我正在尝试将 HTML 画布转换为 HTML 图像,但得到一个空白图像
- 页面视图不符合预期,HTML 未显示,页面为空白
- 在打印 html 内容中添加外部样式表引用后,打印预览为空白
- HTML中的哪些空白空间被视为空白节点
- html@MEDIA print{},隐藏标记会在打印中留下空白
- onclick值中的空白导致HTML不正确
- 用html标记替换所有空白,将剩余单词括起来
- Javascript用空白字符串替换html标记
- 将html转换为保留空白标记含义的文本表示——如何
- 空白画布HTML、JavaScript