3

我有一个表示餐厅菜单的 XML 文件,我想在 HTML 文件的 div 元素中呈现它的内容。我必须只使用 HTML5 和 CSS3。我怎样才能做到这一点?

4

2 回答 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 回答