我有一个表示餐馆菜单的XML文件,我想在HTML文件的div元素中呈现它的内容。我必须只使用HTML5和CSS3。我怎样才能做到这一点?
答案 0 :(得分:4)
<embed src="file.xml" />
答案 1 :(得分: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开始允许一些XML主义,如自闭合标记,以与XHTML兼容。)即以下是完全合法的,应该完成与上面的例子相同,虽然它仍然让我模糊不安:
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>
也就是说,这两个都不像使用XSLT那样愚蠢,因为它实际上可以弄清楚发生了什么。