我正在使用变量从XML文件中读取用户名和密码的值。
<xsl:variable name="routingDoc" select="document('local:///Config/routing-config.xml')"/>
以下是我正在阅读的XML文件:
<WSSecurity>
<destination clientURL="/somethingURL">
<username>James</username>
<password>12345</password>
</destination>
</WSSecurity>
当我使用下面的代码片段时,当我使用URL方法时,Xpath不起作用。
<xsl:variable name="routingDoc" select="document('local:///B2B/routing-config.xml')"/>
<xsl:variable name="username">
<xsl:value-of select="$routingDoc/my:WSSecurity/my:desination/my:username"/>
</xsl:variable>
<xsl:variable name="password">
<xsl:value-of select="$routingDoc/my:WSSecurity/my:desination/my:password"/>
</xsl:variable>
<!--<xsl:variable name="password" select="$WSdoc/WSSecurity/desination/password/text()"/>-->
<xsl:message dp:priority="debug"> *** Username is: <xsl:value-of select="$username"/>
</xsl:message>
<xsl:message dp:priority="debug"> *** Password is: <xsl:value-of select="$password"/>
</xsl:message>
我将用户名和密码视为空白。但是,当我使用本地名称时,我得到了值?有谁能解释为什么?我认为这是因为我也尝试了这个命名空间
$routingDoc/WSSecurity/desination/username
当我使用它的工作正常时。
$routingDoc/*[local-name()='WSSecurity']/*[local-name()='destination']/*[local-name()='username']
请告知。