我有一个 XSLT,用于将 XML 解析为 json。我粘贴在我试图从中检索数据的部分下方:
<datafield tag="856" ind1="4" ind2="0">
<subfield code="u">abc</subfield>
</datafield>
<datafield tag="856" ind1="4" ind2="2">
<subfield code="u">xyz</subfield>
</datafield>
我想从节点中选择数据 tag=856 AND ind1=4 AND ind2=2
我设法检查此节点是否存在,但我使用以下规则获取两个节点的值:
<xsl:if test="marc:datafield[@tag='856'] and marc:datafield[@ind1='4'] and marc:datafield[@ind2='2']">
<z:index name="thumbnailUrl_s Thumbnail">
<xsl:value-of select="marc:datafield[@tag='856']/marc:subfield[@code='u']"/>
</z:index>
</xsl:if>
有没有办法让我xsl:value-of
只返回与我上面描述的规则匹配的节点?我一直在 StackOverflow 中寻找类似的答案,到目前为止我找不到一个有同样问题的答案。
您可以使用此代码:
<xsl:if test="marc:datafield[@tag='856' and @ind1='4' and @ind2='2']">
<z:index name="thumbnailUrl_s Thumbnail">
<xsl:value-of select="marc:datafield[@tag='856' and @ind1='4' and @ind2='2']/marc:subfield[@code='u']"/>
</z:index>
</xsl:if>
或者,在模板中:
<xsl:template match="marc:datafield[@tag='856' and @ind1='4' and @ind2='2']">
<z:index name="thumbnailUrl_s Thumbnail">
<xsl:value-of select="marc:subfield[@code='u']"/>
</z:index>
</xsl:template>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句