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>'會阻止其他數據通過。 –