我想将我的XML文件链接到我的HTML页面

时间:2011-01-13 17:06:12

标签: html xml

我创建了一个XML文件,我希望它在我创建的HTML页面中显示。有人能告诉我怎么做。

<?xml version="1.0"?>
<Family>
<Mom>Alison</Mom>
<age>44</age>
<son>Ian</son>
<age>8</age>
<son>Seth</son>
</Family>

我想从我的html页面阅读

4 个答案:

答案 0 :(得分:5)

您可以使用XSLT - 语言来转换XML文档。也许这符合您的需求。

我已经修改了你提供的XML,因为我觉得它结构不合理。所以,如果我们有这样的文件:

<?xml version="1.0"?>
<?xml-stylesheet href="bla.xsl" type="text/xsl" ?>
<family>
   <person>
      <role>Mom</role>
      <name>Alison</name>
      <age>44</age>
   </person>
   <person>
      <role>Father</role>
      <name>Ben</name>
      <age>45</age>
   </person>
   <person>
      <role>Son</role>
      <name>Ian</name>
      <age>8</age>
   </person>
</family>

XSLT文件看起来像这样:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <h2>Family</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
    <th>Role</th>
        <th>Name</th>
        <th>Age</th>
      </tr>
      <xsl:for-each select="family/person">
          <tr>
        <td><xsl:value-of select="role"/></td>
        <td><xsl:value-of select="name"/></td>
        <td><xsl:value-of select="age"/></td>
          </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

答案 1 :(得分:4)

a)只需链接您的Xml文件

您可以使用服务器端包含从Html页面链接到您的Xml文件。

如果您的Web服务器配置为允许此功能(出于安全原因通常禁用此功能),您只需将Html页面重命名为.shtml并添加服务器端include命令。

<强> foo.shtml

<html>
    <head/>
    <body>
    <!--#include file="bar.xml" -->
    </body>
</html>

<强> bar.xml

<?xml version="1.0"?>
<Family>
    <Mom>Alison</Mom>
    <age>44</age>
    <son>Ian</son>
    <age>8</age>
    <son>Seth</son>
</Family>

这将在您的浏览器中显示文字Alison 44 Ian 8 Seth


b)将您的Xml文件渲染为Html

如果您想将完整的Xml文件呈现为Html页面 wenuxas ,请为您提供正确答案。


c)将您的Xml文件嵌入您的Html页面

如果您的Xml文档仅代表最终页面的一个片段,Ajax可能就是您要找的内容。

答案 2 :(得分:1)

如果您只想在文件中查看XML内容,可以搜索并替换所有括号(&lt;&amp; lt;和&gt;成为&amp; gt;),然后将结果粘贴到两者之间&LT;预&GT;和&lt; / pre&gt;标签

答案 3 :(得分:0)

我想说最常见的方法是使用服务器端开发平台(如ASP.NET)来读取XML文件,然后将其格式化为页面标记。

如果有更直接的方法在HTML页面中包含XML内容,我对它并不熟悉。