需要在xslt中读取服务响应,格式为:
servicedata = {" statusCode":200," loginMessage":" Welcome User"}
它的键值对,我可以获得' servicedata'的价值。但还需要获取某些条件检查的状态代码值。
使用版本2.0 for xslt
阅读几个问题,建议使用parse-json(),json-to-xml和3.0版本的xslt,但没有帮助。
问题:首先使用版本2.0只能检索' statusCode'的值。以及如果不指导我如何实现它。
答案 0 :(得分:1)
如果您可以转到Saxon 9.7 HE,那么您可以使用json-to-xml
,例如:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:math="http://www.w3.org/2005/xpath-functions/math"
exclude-result-prefixes="xs math"
version="3.0">
<xsl:template match="data">
<xsl:value-of select="json-to-xml(substring-after(., 'servicedata='))//*[@key = 'statusCode']" xpath-default-namespace="http://www.w3.org/2005/xpath-functions"/>
</xsl:template>
</xsl:stylesheet>
用于输入
<data>servicedata={"statusCode":200,"loginMessage":"Welcome User"}</data>
输出200
。
我还没有检查Saxon 9的早期版本是否也支持它。