Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XSLT可以';无法获取嵌套节点的值_Xml_Xslt - Fatal编程技术网

Xml XSLT可以';无法获取嵌套节点的值

Xml XSLT可以';无法获取嵌套节点的值,xml,xslt,Xml,Xslt,我有以下xml: 4cd91989-1142-4a9c-8f40-149a47078c90 成功 我需要通过XSLT转换获得Status节点的值。无论我尝试什么,我都无法深入到s:body节点 这是我的XSLT: 如果我将select的xsl:value更改为/s:Envelope/s:Body/IsAliveResponse/IsAliveResult/Status,则不会返回任何内容 有人能解释一下为什么转换不起作用,以及我如何成功地检索状态值吗?您必须更仔细地观察名称空间,尤其是默

我有以下xml:


4cd91989-1142-4a9c-8f40-149a47078c90
成功

我需要通过XSLT转换获得Status节点的值。无论我尝试什么,我都无法深入到
s:body
节点

这是我的XSLT:


如果我将select的
xsl:value更改为
/s:Envelope/s:Body/IsAliveResponse/IsAliveResult/Status
,则不会返回任何内容


有人能解释一下为什么转换不起作用,以及我如何成功地检索状态值吗?

您必须更仔细地观察名称空间,尤其是默认名称空间。尝试:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://tempuri.org/"
xmlns:c="http://schemas.datacontract.org/2004/07/Services.Common">

<xsl:template match="/">
    <xsl:value-of select="/s:Envelope/s:Body/t:IsAliveResponse/t:IsAliveResult/c:Status" />
</xsl:template>

</xsl:stylesheet>