0
我想使用Xpath和XSLT獲取XML節點的值。下面是輸入XML和我的XSLT代碼。如果命名空間爲前綴,如何獲取xml節點的值
下面是請求XML:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nat="http://schemas.datacontract.org/2004/07/xyz.DigitalBanking.Service.Token" xmlns:urn="urn:xyz:ASML:2.0:assertion">
<soapenv:Header/>
<soapenv:Body>
<nat:GetAdfsSAMLFromASML>
<nat:request>
<nat:applicationType>secure_inbox</nat:applicationType>
<nat:department>Internet_Bank</nat:department>
<nat:firstName>quae divum incedo</nat:firstName>
<nat:lastName>verrantque per auras</nat:lastName>
<nat:title>per auras</nat:title>
<nat:emailaddress>[email protected]</nat:emailaddress>
<nat:mejrgeOnAttribute>[email protected]</nat:mejrgeOnAttribute>
<nat:ExistingASMLToken>
</nat:ExistingASMLToken>
</nat:request>
</nat:GetAdfsSAMLFromASML>
</soapenv:Body>
</soapenv:Envelope>
下面是XSL代碼:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:pbdp="http://datapower.common.stp.pbds.pbit.jpmc.com"
xmlns:dpconfig="http://www.datapower.com/param/config"
xmlns:nw="http://www.datapower.com/extensions/functions"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:func="http://exslt.org/functions"
xmlns:nat="http://schemas.datacontract.org/2004/07/xyz.DigitalBanking.Service.Token"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
-->
<xsl:template match="/">
<xsl:variable name="c">'</xsl:variable>
<xsl:variable name="applicationType" select="string(//*[local-name()='nat:GetAdfsSAMLFromASML']/@*[local-name()='nat:request']/@*[local-name()
='nat:applicationType'])"/>
<xsl:value-of-select= "$applicationType"/>
</xsl:template>
</xsl:stylesheet>
我想獲取的<nat:applicationType>
值。即輸出應該是secure_inbox。
我試着用上面的xslt,但沒有得到所需的輸出。
請不要改變你的問題就已經經過回答 - 在必要時發佈一個新的。 –
這裏發生了什麼?你爲什麼一直在編輯這個問題?你想問一個新問題嗎? –