使用XSLT从XML文件中删除不需要的元素

时间:2015-12-16 04:19:21

标签: java xml xslt

我有很多XML文件,其格式如下:

<param>
<name>hello</name>
<value>world</world>
</param>

我想从文件中删除。

使用XSL我该怎么做?

我发现如果我的格式相同

<param name="hello" value="world"/>

然后以下XSL将执行该技巧

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

 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

 <xsl:template match="param[@name='hello']"/>
</xsl:stylesheet>

我正在使用java transfromer,因此任何基于Java的解决方案都可以使用。

1 个答案:

答案 0 :(得分:0)

要删除问题顶部发布的格式的元素,您只需将第二个模板的match属性更改为:

<xsl:template match="param[name='hello']"/>

<强> xsltransform demo

删除开头的@字符后,表达式现在与param元素匹配,{child}元素值等于name