XML如何选择并显示某个元素?

时间:2014-05-12 10:57:50

标签: xml xslt

我需要我的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。

1 个答案:

答案 0 :(得分:3)

添加谓词<xsl:apply-templates select="workhistory/workplace/jobinfo/jobrole[. = 'Web Development']"/>