我需要我的XML循环遍历元素列表,并且只显示其中包含“Web开发”的元素。我尝试了无数的解决方案,但似乎没有提供所需的输出。
XML代码:
<?xml version="1.0" encoding="iso-8859-1"?>
<assignment>
<workhistory>
<workplace>
<jobinfo>
<joblength>March - February</joblength>
<jobrole>Librarian</jobrole>
</jobinfo>
</workplace>
<workplace>
<jobinfo>
<joblength>April - July</joblength>
<jobrole>Web Development</jobrole>
</jobinfo>
</workplace>
</workhistory>
</assignment>
XSL代码:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<xsl:template match="assignment">
<html>
<head></head>
<body>
<xsl:apply-templates select="workhistory/workplace/jobinfo/jobrole"/>
</body>
</html>
</xsl:template>
我知道这打印了所有'jobrole'元素,我理解为什么,我只是无法弄清楚如何输出我想要的东西。 注意:我正在使用XSLT 1.0。
答案 0 :(得分:3)
添加谓词<xsl:apply-templates select="workhistory/workplace/jobinfo/jobrole[. = 'Web Development']"/>
。