嗨我有这样的XML。
<RECORDSET>
<ROW>
<INSTANCE_NAME>ABC</INSTANCE_NAME>
<VALUE>12000</VALUE>
</ROW>
<ROW>
<INSTANCE_NAME>DEF</INSTANCE_NAME>
<VALUE>1500</VALUE>
</ROW>
</RECORDSET>
请帮我写XSLT来获取VALUE标签的值,INSTANCE_NAME ='DEF'。 感谢
答案 0 :(得分:0)
您正在寻找的概念称为谓词 - 以查找ROW
INSTANCE_NAME
您可以使用的DEF
元素
/RECORDSET/ROW[INSTANCE_NAME = 'DEF']
所以要提取它们的值,你会使用
/RECORDSET/ROW[INSTANCE_NAME = 'DEF']/VALUE
您可以将方括号读作“where”或“that that”,即找到RECORDSET元素,然后在每个元素中找到ROW
元素,使< / em> INSTANCE_NAME = 'DEF'
,并在每个中找到VALUE
元素。
答案 1 :(得分:0)
根据VALUE
INSTANCE_NAME
<强> XML 强>:
<RECORDSET>
<ROW>
<INSTANCE_NAME>ABC</INSTANCE_NAME>
<VALUE>12000</VALUE>
</ROW>
<ROW>
<INSTANCE_NAME>DEF</INSTANCE_NAME>
<VALUE>1500</VALUE>
</ROW>
</RECORDSET>
<强> XSL:强>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output omit-xml-declaration="yes" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="RECORDSET">
<xsl:value-of select="ROW[INSTANCE_NAME = 'DEF']/VALUE" />
</xsl:template>
</xsl:stylesheet>
<强>输出:强>
1500