我想在我的网站上添加一个简历页面。我用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>
答案 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>";
}
?>