我试图找到< lucidId'的xpath。在这个SOAP返回中:
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://media.com/entities/lpedition" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:detailFromPublicationDateResponse>
<return SOAP-ENC:arrayType="ns1:Edition[2]" xsi:type="ns1:EditionArray">
<item id="5267" status="" adsBundleStatus="" adsBundleSizeInBytes="" adsBundleUrl="" xsi:type="ns1:Edition" xmlns="http://lapresse.ca/entities/lpedition">
<name>ARTS CINÉMA</name>
<publishedAt>20170603</publishedAt>
<sections>
<section id="22556" type="CAT" rank="1">
<typeCode>REG</typeCode>
<color>008591</color>
<name>ARTS CINÉMA</name>
<pages>
<page id="66972270" lucidId="3d84e764-c507-4f07-82c3-c6f9cab588eb|_0" pageNumberForEdition="" pageNumberForSection="1" type="" adsBundleStatus="" adsBundleSizeInBytes="0" adsBundleUrl="">
<navThumbnail url="http://lp-bo.lapresse.ca/api/5267/d8eb9c12f7b449dd80bf852832638ed7/thumbnail-nav">
<title>À la une</title>
<subTitle>ARTS</subTitle>
</navThumbnail>
<screenCapture url="http://lp-bo.lapresse.ca/api/5267/d8eb9c12f7b449dd80bf852832638ed7/thumbnail?lucidRank=0"/>
<ads/>
<pages/>
<articles/>
<slideshows/>
</page>
一旦我回复&#39;在我的xpath中,我没有得到任何东西
/SOAP-ENV:Envelope/SOAP-ENV:Body/ns1:detailFromPublicationDateResponse/return
我尝试过各种xpath测试仪,但我没有得到任何东西...... 是否必须对阵列做任何事情?
当我这样做时,它确实适用于xpath://pages/page/@lucidId
但在我的XSL文件中,我无法绕过return
。
这就是我想要做的事情:
<xsl:template match="/SOAP-ENV:Envelope/SOAP-ENV:Body/ns1:detailFromPublicationDateResponse/return">
<xsl:for-each select="item/sections/section/pages/page">
<xsl:value-of select="@lucidId"/><xsl:text>;</xsl:text>
答案 0 :(得分:0)
item
以下的所有内容都位于默认命名空间http://lapresse.ca/entities/lpedition
中。
尝试将该命名空间绑定到XSLT中的前缀,并在xpath中使用它。
在下面的示例中,我将命名空间绑定到前缀lp
。
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://media.com/entities/lpedition"
xmlns:lp="http://lapresse.ca/entities/lpedition"
exclude-result-prefixes="SOAP-ENV ns1 lp">
<xsl:output indent="yes" omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/SOAP-ENV:Envelope/SOAP-ENV:Body/ns1:detailFromPublicationDateResponse/return">
<xsl:for-each select="lp:item/lp:sections/lp:section/lp:pages/lp:page">
<xsl:value-of select="@lucidId"/><xsl:text>;</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<强>输出强>
3d84e764-c507-4f07-82c3-c6f9cab588eb|_0;
答案 1 :(得分:-1)
/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='detailFromPublicationDateResponse']/*[local-name()='return']/*[local-name()='item']/*[local-name()='sections']/*[local-name()='section']/*[local-name()='pages']/*[local-name()='page']/@lucidId
或只是
//*[local-name()='pages']/*[local-name()='page']/@lucidId