如何在没有名称空间的情况下复制动态XML节点



xml下方在任何情况下都具有动态元素。但是对于此情况,我要制作的字段是" getClassName",而不包括名称实例" ser"。仅供参考,我使用XML 1.0和XSLT进行转换。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://sample.com/">
    <soapenv:Header/>
    <soapenv:Body>
        <ser:getClassNames>
            <credential>
                <appUserID>d</appUserID>
                <clientName>ECSDEVTEAM</clientName>
                <repoName>HWY</repoName>
            </credential>
        </ser:getClassNames>
    </soapenv:Body>
</soapenv:Envelope>

样本输出

<OperationName>getClassName</OperationName>

我主要在这里猜测,但是应用以下样式表:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
exclude-result-prefixes="soapenv">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/soapenv:Envelope ">
    <OperationName>
        <xsl:value-of select="local-name(soapenv:Body/*)"/>
    </OperationName>
</xsl:template>
</xsl:stylesheet>

输入将返回:

<?xml version="1.0" encoding="UTF-8"?>
<OperationName>getClassNames</OperationName>

相关内容

  • 没有找到相关文章

最新更新