我正在使用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
}
答案 0 :(得分:1)
XPath就是这个
root/tags/tag[tag_id='TEST_TAG2']/tag_value
只要您使用正确的predicate,您当然可以将其调整到您可能需要的任何上下文。否则,您只需将其添加到value-of
的选择中即可。