我有很多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的解决方案都可以使用。
答案 0 :(得分:0)
要删除问题顶部发布的格式的元素,您只需将第二个模板的match
属性更改为:
<xsl:template match="param[name='hello']"/>
<强> xsltransform demo
强>
删除开头的@
字符后,表达式现在与param
元素匹配,{child}元素值等于name
。