将xml内容集成到html页面中

时间:2014-04-12 18:52:03

标签: html xml

我想在我的网站上添加一个简历页面。我用xml格式编写了一个cv,并使用xslt来描述它的表示(到目前为止这么简单)。但唯一的困难是将xml文本放入html页面。 CV内容应该适合我从菜单按钮引用的div。所以输出应该像<div><table>...</table></div>
我该怎么做 ?什么是最好的方法(javascript或php ...)

cv.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cv.xsl"?>
<cv xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="cv.xsd">

<category name="Web">
    <skill name="HTML">5</skill>
    <skill name="CSS3">4</skill>
    <skill name="Javascript">2</skill>
</category>
</cv>

cv.xsl:

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

<xsl:template match="/">
<html>
<body>
<table border="1">
  <xsl:for-each select="cv/category">
    <td><b><xsl:value-of select="@name"/></b></td>
    <xsl:for-each select="skill">
      <tr>
        <td><xsl:value-of select="@name"/></td>
        <td><xsl:value-of select="."/></td>
      </tr>
    </xsl:for-each>
  </xsl:for-each>
 </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet> 

1 个答案:

答案 0 :(得分:0)

找到解决方案!
http://www.w3schools.com/ajax/ajax_xmlfile.asp

最后我使用PHP而不是Ajax:

$dom = new DOMDocument;
$dom->Load('cv.xml');
$category = $dom->getElementsByTagName("category");
foreach ($category as $cat) {
    echo "<div class='category'><span>".$cat->getAttribute("name")."</span>";
    $skills = $cat->getElementsByTagName("skill");
    foreach ($skills as $skill) {
        $name = $skill->getAttribute("name");
        $level = $skill->nodeValue;
        echo "<div class='skill stars".$level."'>".$name."</div>";
    }
    echo "</div>";
}
?>