在CSS和HTML中显示XML
Display XML in CSS and HTML
我的XML结构看起来有点像:
<Bookmark>
<Type>Media</Type>
<Name>YouTube</Name>
<Link>https://www.youtube.com</Link>
</Bookmark>
<Bookmark>
...
</Bookmark>
...
我想做的是在html中显示一个表,其中书签Name
根据其本身的书签的Type
显示在一列中(即用于媒体书签的列、用于工作书签的列等),并且该名称是指向Link
提供的地址的链接。
这是我到目前为止所做的(从w3schools修改而来):
<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","xml/bookmarks.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
document.write("<table>");
var x = xmlDoc.getElementsByTagName("Bookmark");
for (i = 0; i < x.length; i++)
{
document.write("<tr><td>");
if (x[i].getElementsByTagName("Type")[0].childNodes[0].nodeValue == "Social")
{
document.write(x[i].getElementsByTagName("Name"[0].childNodes[0].nodeValue);
document.write("</td></tr>");
}
}
document.write("</table>");
</script>
这显示了我想要的所有社交书签。我正在努力使结果成为一个链接,并将我的CSS应用于它们。
也许我完全错了,任何建议都会被采纳(注意:我的下一个任务是允许基于web的界面添加和删除书签——这可能使用与下面相同的技术吗?或者我需要进入XQuery或类似的东西吗?)
如果你想要每个书签类型都有一列,我建议你将每个书签集(媒体等)存储在一个数组中,然后通过浏览数组来生成你的表(即,对于每个<tr[i]/>
,写<td>media[i]</td>
、<td>work[i]</td>
等)。当然,要注意数组的大小(不再有书签=空单元格)。
要写一个链接,你可以这样写:
document.write("<a href='"" + x[i].getElementsByTagName("Link")[0].childNodes[0].nodeValue + "'">";
document.write(x[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue);
document.write("</a>");
有几种方法可以将css应用于此表。如果你只想将其应用于这个表,你可以写:
document.write("<table id='"bookmarks'">");
然后在CSS中(例如):
#bookmarks {/* stuff */}
#bookmarks tr {/* trs stuff */}
#bookmarks td {/* tds stuff */}
/* whaterver */
也许我没有抓住你真正的问题。你能多谈谈你的问题吗?
还有一点:我不明白你为什么要用document.write()
。。。您听说过动态编辑HTML内容的HTMLDOM引用吗?
最好使用XSLT。这将把XML转换成HTML。使用CSS设置此HTML的样式。
请参阅http://www.w3schools.com/xsl/xsl_client.asp代码。
相关文章:
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- 在CSS和HTML中显示XML
- 带有显示XML数据的HTML的空白页
- 如何以可扩展和可折叠的树形结构显示XML模式
- 在Internet Explorer中下载或显示XML文件
- 使用 JavaScript 显示 XML 数据,在函数结束时出现问题
- Javascript:如果 Word 在 URL 中,则显示 XML
- 表格必须具有可单击的单元格才能显示 XML 文件中的更多选项
- 如何使用jquery显示xml atribute (在zRSSFeed脚本中)
- 在 HTML 页面中显示 XML 属性
- 使用xsl和javascript显示xml文件中计数的关键字的总和
- CodeMirror没有突出显示XML
- 在当前/新窗口中显示xml
- 如何根据用户输入以不同的方式以HTML格式显示XML文件
- 使用javascript显示xml数据
- 在Javascript/jQuery中读取和显示XML内容
- 在网页上显示xml信息的最佳方式是什么
- Titanium,Js函数显示XML文本字段文本
- 使用javascript在网页中显示XML
- 在HTML表格中显示XML结果