Xpath无法使用XSLT1.0

Xpath无法使用XSLT1.0,xslt,xpath,Xslt,Xpath,基于此线程,我正在修复来自sharepoint的响应 回应 下面是我使用的Xpath 1 CopyIntoItemsResult 2 ErrorCode/*[local name='Envelope']/*[local name='Body']/*[local name='SharepointResponse']/*[local name='SharepointResponse']/*[local name='CopyintItemsResponse']/*[local name='CopyRe

基于此线程,我正在修复来自sharepoint的响应

回应

下面是我使用的Xpath 1 CopyIntoItemsResult

2 ErrorCode/*[local name='Envelope']/*[local name='Body']/*[local name='SharepointResponse']/*[local name='SharepointResponse']/*[local name='CopyintItemsResponse']/*[local name='CopyResult']/*[local name='ErrorCode']

3 DestinationUrl/*[local name='Envelope']/*[local name='SharepointResponse']/*[local name='SharepointResponse']/*[local name='CopyintItemsResponse']/*[local name='CopyResult']/*[local name='DestinationUrl']

问题是我没有得到任何价值观,我无法找出我做错了什么


任何人都可以提供帮助。

您并没有真正显示XSLT,但它取决于您的模板匹配情况。如果您使用星号*,您的XPath应该可以工作。或者,您可以使用反斜杠/in模板匹配,但在每个XPath的开头删除它

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:output version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no" />
 <xsl:strip-space elements="*" />

 <xsl:template match="*">
    <data>    
        <CopyIntoItemsResult>
            <xsl:value-of select="/*[local-name()='Envelope']/*[local-name()='Body']/*
                    [local-name()='SharepointResponse']/*[local-name()='Sharepoint_Response']/*
                    [local-name()='CopyIntoItemsResponse']/*
                    [local-name()='CopyIntoItemsResult']/text()"/>
        </CopyIntoItemsResult>
        <ErrorCode>
            <xsl:value-of select="/*[local-name()='Envelope']/*[local-name()='Body']/*
                    [local-name()='SharepointResponse']/*[local-name()='Sharepoint_Response']/*
                    [local-name()='CopyIntoItemsResponse']/*[local-name()='Results']/*
                    [local-name()='CopyResult']/@*[local-name()='ErrorCode']"/>
        </ErrorCode>
        <DestinationUrl>    
            <xsl:value-of select="/*[local-name()='Envelope']/*[local-name()='Body']/*
                    [local-name()='SharepointResponse']/*[local-name()='Sharepoint_Response']/*
                    [local-name()='CopyIntoItemsResponse']/*[local-name()='Results']/*
                    [local-name()='CopyResult']/@*[local-name()='DestinationUrl']"/>
        </DestinationUrl>
    </data>
 </xsl:template>

</xsl:transform>
输出

< ErrorCode="Success"
DestinationUrl="http://archivelink.dev.test.com/enterprise"/>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:output version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="no" />
 <xsl:strip-space elements="*" />

 <xsl:template match="*">
    <data>    
        <CopyIntoItemsResult>
            <xsl:value-of select="/*[local-name()='Envelope']/*[local-name()='Body']/*
                    [local-name()='SharepointResponse']/*[local-name()='Sharepoint_Response']/*
                    [local-name()='CopyIntoItemsResponse']/*
                    [local-name()='CopyIntoItemsResult']/text()"/>
        </CopyIntoItemsResult>
        <ErrorCode>
            <xsl:value-of select="/*[local-name()='Envelope']/*[local-name()='Body']/*
                    [local-name()='SharepointResponse']/*[local-name()='Sharepoint_Response']/*
                    [local-name()='CopyIntoItemsResponse']/*[local-name()='Results']/*
                    [local-name()='CopyResult']/@*[local-name()='ErrorCode']"/>
        </ErrorCode>
        <DestinationUrl>    
            <xsl:value-of select="/*[local-name()='Envelope']/*[local-name()='Body']/*
                    [local-name()='SharepointResponse']/*[local-name()='Sharepoint_Response']/*
                    [local-name()='CopyIntoItemsResponse']/*[local-name()='Results']/*
                    [local-name()='CopyResult']/@*[local-name()='DestinationUrl']"/>
        </DestinationUrl>
    </data>
 </xsl:template>

</xsl:transform>
<data>
    <CopyIntoItemsResult>0</CopyIntoItemsResult>
    <ErrorCode>Success</ErrorCode>
    <DestinationUrl>http://archivelink.dev.test.com/enterprise</DestinationUrl>
</data>