我对XSLT有疑问。我正在尝试通过XPATH获取标签的值,但我不知道我该怎么做。
我正在尝试使用此XPTAH:
<xsl:copy-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@Role='C' and ./@id='atom1']/*/Table1/Nombre">
但这是不可能的。
我也试过代码:
<xsl:copy-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@Role='C' and ./@id='atom1']/DescargarFicheroPendienteResponse/DescargarFicheroPendienteResult/Table1/Nombre">
我认为问题是标签:
这是示例XML:
<Payload Role="C" id="atom1" statusNo="0" statusMsg="success" reference="atom2" payload="atom2" calltype="solicit response (call/reply)" adapter="WSAS">
<http.header>
<http.header.info id="X-AspNet-Version" value="2.0.50727"/>
<http.header.info id="Date" value="Wed, 24 Jul 2013 10:23:53 GMT"/>
<http.header.info id="Content-Length" value="494"/>
<http.header.info id="MicrosoftOfficeWebServer" value="5.0_Pub"/>
<http.header.info id="Content-Type" value="text/xml; charset=utf-8"/>
<http.header.info id="Server" value="Microsoft-IIS/6.0"/>
<http.header.info id="X-Powered-By" value="ASP.NET"/>
<http.header.info id="Cache-Control" value="private, max-age=0"/>
</http.header>
<DescargarFicheroPendienteResponse xmlns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DescargarFicheroPendienteResult>
<NewDataSet xmlns="">
<Table1>
<Nombre>0</Nombre>
<Contenido/>
</Table1>
</NewDataSet>
</DescargarFicheroPendienteResult>
</DescargarFicheroPendienteResponse>
</Payload>
任何人都可以帮助我吗?
由于
答案 0 :(得分:1)
在XML中给出了这个:
<DescargarFicheroPendienteResponse xmlns="http://tempuri.org/" ....>
<DescargarFicheroPendienteResult>
<NewDataSet xmlns="">
<Table1>
XPath表达式
vpf:Payload[....]/DescargarFicheroPendienteResponse/
DescargarFicheroPendienteResult/Table1/Nombre
肯定不会起作用 - 首先,在XML中,DescargarFicheroPendienteResponse
和DescargarFicheroPendienteResult
元素位于http://tempuri.org/
命名空间中,因此您需要将其映射到样式表中的前缀(例如xmlns:t="http://tempuri.org/"
)然后在XPath中使用该前缀,其次在NewDataSet
上方有一个Table1
元素。
vpf:Payload[....]/t:DescargarFicheroPendienteResponse/
t:DescargarFicheroPendienteResult/NewDataSet/Table1/Nombre