我有一个表示餐厅菜单的 XML 文件,我想在 HTML 文件的 div 元素中呈现它的内容。我必须只使用 HTML5 和 CSS3。我怎样才能做到这一点?
问问题
7251 次
2 回答
4
试试这个:
<embed src="file.xml" />
于 2013-01-02T19:50:31.450 回答
3
扩展 Praveen 的答案(主要是为了提供更完整的代码示例),实际上可以使用以下咒语显示 XML 内容并使用 CSS 对其进行样式设置:
foo.html
<head>
<title>test</title>
</head>
<body>
<object data="foo.xml" />
</body>
</html>
foo.xml
<?xml-stylesheet type="text/css" href="foo.css"?>
<foo>
abc
<bar>def</bar>
ghi
</foo>
foo.css
bar {
color: red;
}
您可能不得不忍受这种不适用于所有浏览器的情况,因为我知道没有标准方法可以在不使用编程语言的情况下从 HTML 中转入 XML 文档。(尽管上述方法适用于 FF、Chrome 和 IE。)
也就是说,除非将 XML 复制粘贴到 HTML 文档的正文中。(严格来说,这在技术上不包括 XML,而是一堆“无效”的 HTML 标签,恰好看起来很像 XML。这是可能的,因为为了向前兼容,HTML 明确允许未知标签,从 HTML5 开始为了与 XHTML 兼容,允许一些 XMLisms,如自封闭标签。)即以下是完全合法的,并且应该与上面的示例相同,尽管它仍然让我隐约感到不舒服:
foo2.html
<html>
<head>
<title>test</title>
<style type="text/css">
bar {
color: red;
}
</style>
</head>
<body>
<!-- Contents of foo.xml go here -->
<foo>
abc
<bar>def</bar>
ghi
</foo>
</body>
</html>
也就是说,这两种方式在 IMO 上都没有使用 XSLT 愚蠢,因为实际上可以弄清楚发生了什么。
于 2013-01-02T20:08:43.060 回答