1

有简单的 html 里面有 xml:

<html>
<head>
    <title>XML Data Islands</title>
    <link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <h2>
        Binding XML Data Islands to Elements</h2>

    <xml id="#myXmlDataSource">
        <items>
            <item id="item1">
                <name>Mocha</name>
                <type>Coffee</type>
                <photo>photos/candles.jpg</photo>
            </item>
            <item id="item2">
                <name>Decaf</name>
                <type>Coffee</type>
                <photo>photos/teacup.jpg</photo>
            </item>
        </items>

    </xml>
    <table datasrc="#myXmlDataSource" border="1">
        <thead>
            <tr>
                <th>
                    Photo</th>
                <th>
                    Description</th>
                <th>
                    Type</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>
                    <img datafld="photo"/>
                </td>
                <td>
                    <span title=  "name"/>
                </td>
                <td>
                    <span datafld="type"/>
                </td>
            </tr>
        </tbody>
    </table>


</body>
</html>

不幸的是,记录没有显示在表格中。没有图片也没有文字。问题出在哪里?

4

1 回答 1

2

XML 数据岛是 Internet Explorer 独有的功能,已在 IE10 中删除。例如,以目前的形式,这将永远无法在 Chrome 或 Firefox 中运行。

但是,您可能想看看在 Mozilla 中使用 XML 数据岛,它解释了它如何使用 HTML5“数据块”工作。这将是更跨浏览器兼容的解决方案。

我没有 IE9,但如果以下更改对您不起作用,使用 IE9 更新 XML 数据岛可能会有所帮助。我已经在 IE8 中成功地测试了这些。

您的代码中有两个小错误。

一个元素id不应该包含#(这就是属性id所表示的)

<xml id="#myXmlDataSource">
         ^
         remove this

<span title= "name"/>应该是<span datafld="name"/>

于 2013-04-17T09:56:19.083 回答