2014-04-12 64 views
0

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

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

发现的解决方案! http://www.w3schools.com/ajax/ajax_xmlfile.asp – velocity

回答

0

找到了解决办法!
http://www.w3schools.com/ajax/ajax_xmlfile.asp

最后我用PHP的,而不是阿贾克斯:

$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>"; 
} 
?>