获取特定标记的相应值 - XML和XSLT

时间:2014-01-28 14:31:41

标签: xml xslt

我正在使用XSLT来解析XML文档,并且有一个包含重复元素名称的块,我想获取与某个标记值对应的特定值。 以下是xml的示例:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <tags>
        <tag>
            <tag_id>TEST_TAG1</tag_id>
            <tag_value>TEST_VALUE1</tag_value>
        <tag>
        <tag>
            <tag_id>TEST_TAG2</tag_id>
            <tag_value>TEST_VALUE2</tag_value>
        <tag>
        <tag>
            <tag_id>TEST_TAG3</tag_id>
            <tag_value>TEST_VALUE3</tag_value>
        <tag>
    </tags>
</root>

我正在使用XSLT 2.0。 如何通过检查“TEST_TAG2”的tag_id来获取值“TEST_VALUE2”?

基本上,我想检查某个tag_id值并将其tag_value值保存到这样的变量中:

    if(tag_id == "TEST_TAG2")
    {
        value = <tag_value> // tag_value element related to the tag_id value TEST_TAG2
    }

1 个答案:

答案 0 :(得分:1)

XPath就是这个

root/tags/tag[tag_id='TEST_TAG2']/tag_value

只要您使用正确的predicate,您当然可以将其调整到您可能需要的任何上下文。否则,您只需将其添加到value-of的选择中即可。