我的输入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
元素及其后代,以剥离根部元素范围中的名称空间。