如何在ObtemSocios_P的MODULO上下文获取CapitalRegistado值?
如何在XSLT中跨MODULO节点获取值?
你现在在ObtemSocios_P这个<MODULO>的上下文里,要拿到另一个<MODULO>里的<CapitalRegistado>值其实很简单,核心就是跳出当前的节点上下文,定位到目标节点就行。给你两种常用的写法:
1. 绝对路径定位(推荐,上下文无关)
直接从根节点<RELATORIO>开始遍历,不管你当前在哪个节点都能精准找到:
/RELATORIO/MODULO[NAME='ObtemCapitalSocial_P']/VALUES/ROW/CapitalRegistado
这里的[NAME='ObtemCapitalSocial_P']是谓词,用来筛选出名字为ObtemCapitalSocial_P的<MODULO>节点,避免拿到其他MODULO的内容。
2. 相对路径定位(依赖当前上下文)
如果你确定当前上下文就是<MODULO>节点,可以用../回到父节点<RELATORIO>,再找目标MODULO:
../MODULO[NAME='ObtemCapitalSocial_P']/VALUES/ROW/CapitalRegistado
实际使用示例
比如在你的<xsl:when>块里,可以这么写:
<xsl:when test="NAME='ObtemSocios_P'"> <!-- 先把值存到变量里,方便后续使用 --> <xsl:variable name="capitalRegistadoVal" select="/RELATORIO/MODULO[NAME='ObtemCapitalSocial_P']/VALUES/ROW/CapitalRegistado" /> <!-- 输出这个值或者用在其他逻辑里 --> <CapitalRegistado><xsl:value-of select="$capitalRegistadoVal" /></CapitalRegistado> </xsl:when>
这样就能轻松拿到8734652这个值啦~
内容的提问来源于stack exchange,提问作者Gustavo Jose
相关产品推荐
相关产品推荐

