删除父节点标签,但要保持孩子的状态,XSLT



我的输入xml如下所示,我想删除节点<multimap:Message1>

<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">

,但想保留孩子。

由于有特殊的字符":"在多键和消息之间,我无法删除此节点

<?xml version="1.0" encoding="UTF-8"?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">`This one need to be removed`
    <multimap:Message1> `This one need to be removed`
        <EmployeeTime>
            <EmployeeTime>
                <externalCode>e82baef39</externalCode>
                <timeType>UK_MATERNITY</timeType>
                <userId>101046</userId>>
                <Holiday>
                    <date>2016-03-25</date>
                    <date>2015-04-06</date>
                    <date>2015-05-25</date>
                </Holiday>
            </EmployeeTime>
        </EmployeeTime>
    </multimap:Message1>`This one need to be removed`
</multimap:Messages>`This one need to be removed`

假设您使用XSLT 2或3处理器,您可以简单地使用

<xsl:template match="/">
  <xsl:copy-of select="*/*/*" copy-namespaces="no"/>
</xsl:template>

http://xsltransform.net/nazxpyb

使用XSLT 1,您需要通过转换来运行EmployeeTime元素及其后代,以剥离根部元素范围中的名称空间。

最新更新