XSLT - 通过XML循环查找具有特定值的子节点

时间:2017-10-23 10:36:57

标签: xml loops templates for-loop xslt

多年来一直是这里的读者,但这是我的第一篇文章!

我有一个我想要转换和排序的XML文档。

<?xml version="1.0"?>
<ROOT>

    <ROW>
        <FULLNAME>Anton</FULLNAME>
        <GROUPS>
            <DEPARTMENT>Large</DEPARTMENT>
            <DEPARTMENT>Medium</DEPARTMENT>
            <DEPARTMENT>Small</DEPARTMENT>
        </GROUPS>
    </ROW>

    <ROW>
        <FULLNAME>Bill</FULLNAME>
        <GROUPS>
            <DEPARTMENT>Large</DEPARTMENT>
            <DEPARTMENT>Small</DEPARTMENT>
        </GROUPS>
    </ROW>

</ROOT>

简而言之,我想要做的是提取用户的全名,其中任何部门节点都包含小的。

此致 -Anton

1 个答案:

答案 0 :(得分:0)

您没有说出您想要输出的格式(HTML,文本,XML ...)

这将匹配ROW包含GROUPS DEPARTMENT且文字为Small(区分大小写)的FULLNAME,然后显示<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="ROOT"> <xsl:apply-templates select="ROW[GROUPS[DEPARTMENT[text() = 'Small']]]" /> </xsl:template> <xsl:template match="ROW"> <xsl:value-of select="FULLNAME"/><br/> </xsl:template> </xsl:stylesheet> < / p>

div