根据XSLT中的某些条件获取元素值

时间:2019-02-11 14:54:36

标签: xml xslt xslt-2.0 xslt-grouping

下面是我的源XML,我需要获取doc_id,其中doc_tag等于“ deliverable”。在下面的示例中,我需要doc_id为123654789,因为doc_tag等于可交付成果,我尝试了各种X路径,但是我无法确切地指出doc_tag作为可交付成果

非常感谢您的帮助。

谢谢
Venk

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <document>
        <doc_id>321654987</doc_id>
        <doc_tag>Log</doc_tag>
    </document>
    <document>
        <doc_id>123654789</doc_id>
        <doc_tag>deliverable</doc_tag>
    </document>
    <document>
        <doc_id>325698741</doc_id>
        <doc_tag>Log2</doc_tag>
    </document>
    <document>
        <doc_id>369852147</doc_id>
        <doc_tag>nondeliverable</doc_tag>
    </document>
</root>

1 个答案:

答案 0 :(得分:0)

如果要在与文档节点匹配的模板中获取值

<xsl:template match="/"> 
   <xsl:value-of select="root/document[doc_tag='deliverable']/doc_id" />
</xsl:template>

方括号表示应过滤所选document元素的条件。