XPath中的条件语句

时间:2017-01-24 08:19:32

标签: xml xpath

我是XPath的新手,我陷入了一个小问题。 以下是我的示例XML。

<test>
    <OI>1626353388</OI>
    <PL>DL</PL>
    <OF>p</OF>
    <ele>
        <elet>
            <tpl>BR</tpl>
            <format>1</format>
        </elet>
    </ele>
</test>

我试图通过添加几个字符串来获取路径:

concat('/app/test/1.0/forms/',/test/ele/elet/tpl,'.xd')

如果format元素在XML中可用,我需要将其附加xd,否则应附加pd。我不知道该怎么做。 任何人都可以帮我吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

找到回答的逻辑:http://dreamix.eu/blog/java/xml-java/how-to-create-if-else-statement-in-xpath-1-0

解决方案:

concat('/app/test/1.0/forms/', /test/ele/elet/tpl, '.', substring('pd', 1, number(/test/ele/elet/format) * string-length('pd')), substring('xd', 1, number(not(/test/ele/elet/format)) * string-length('xd')))