0
的XSL转换失败下面是一个XML响应我从服务中获得我created-,因为命名空间
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<wsa:MessageID>urn:3474700f-5fc9-11e6-ba99-00144ff9e607</wsa:MessageID>
<wsa:ReplyTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
<wsa:ReferenceParameters>
<instra:tracking.ecid xmlns:instra="http://xmlns.oracle.com/sca/tracking/1.0">fc5bd4a9-5dea-4f03-bef5-b62057ff17d5-00055065</instra:tracking.ecid>
<instra:tracking.FlowEventId xmlns:instra="http://xmlns.oracle.com/sca/tracking/1.0">280018</instra:tracking.FlowEventId>
<instra:tracking.FlowId xmlns:instra="http://xmlns.oracle.com/sca/tracking/1.0">140005</instra:tracking.FlowId>
<instra:tracking.CorrelationFlowId xmlns:instra="http://xmlns.oracle.com/sca/tracking/1.0">0000LPtpMnV4Muk_Ox5Eid1Ncr^i000006</instra:tracking.CorrelationFlowId>
</wsa:ReferenceParameters>
</wsa:ReplyTo>
<wsa:FaultTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
</wsa:FaultTo>
</env:Header>
<env:Body>
<SCOR_SCORING_RES>
<TABLE>
<RESULT>
<CALC_MAX_REPAYMENT_CLIENT>100000</CALC_MAX_REPAYMENT_CLIENT>
<INTERNAL_CREDIT_RATING_CD>3</INTERNAL_CREDIT_RATING_CD>
<OUTCOME_CD>Good</OUTCOME_CD>
<CALC_MAX_LIMIT_ALTERN>50000</CALC_MAX_LIMIT_ALTERN>
</RESULT>
</TABLE>
</SCOR_SCORING_RES>
</env:Body>
</env:Envelope>
我想在这个XML应用XSLT和获取数据。 我写了一个小的XSLT代码 -
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="Envelope">
<xsl:value-of select="Body/SCOR_SCORING_RES/TABLE/RESULT/CALC_MAX_REPAYMENT_CLIENT"/>~
</xsl:template>
</xsl:stylesheet>
但结果XML并没有给我的标签CALC_MAX_REPAYMENT_CLIENT的价值,但下面的结果是所有的标签值响应XML的
urn:3474700f-5fc9-11e6-ba99-00144ff9e607http://www.w3.org/2005/08/addressing/anonymousfc5bd4a9-5dea-4f03-bef5-b62057ff17d5-000550652800181400050000LPtpMnV4Muk_Ox5Eid1Ncr^i000006http://www.w3.org/2005/08/addressing/anonymous1000003Good50000
从我对XSLT和XPATH知之甚少,Body/SCOR_SCORING_RES/TABLE/RESULT/CALC_MAX_REPAYMENT_CLIENT应该只返回一个值。请让我知道我做错了什么。
谢谢。这解决了它。 –
原始代码返回所有数据的原因是它没有重写默认的XSLT处理规则。添加一个'> xsl:template>'会阻止其他数据通过。 –