我想学习如何在 xml 文件中搜索单词并使用 xslt 删除整行
示例:abc.xml
<server>
<mbean code="org.jboss.varia.property.SystemPropertiesService"
name="abc.props:type=Service,name=abcprop">
<attribute name="Properties">
abc.def.ghi=123
ghi.klm.nop=123
qrst.tuv.wxy=123
zab.cde.fgh=123
ijk.lmn.opq=remove
rst.uvw.xyz=123
abc.tuv.nop=123
ajc.dzf.goi=123
</attribute>
</mbean>
</server>
从上面的示例中,我想搜索一个单词“ remove ”并删除整行:ijk.lmn.opq=remove
预期输出为:
<server>
<mbean code="org.jboss.varia.property.SystemPropertiesService"
name="abc.props:type=Service,name=abcprop">
<attribute name="Properties">
abc.def.ghi=123
ghi.klm.nop=123
qrst.tuv.wxy=123
zab.cde.fgh=123
rst.uvw.xyz=123
abc.tuv.nop=123
ajc.dzf.goi=123
</attribute>
</mbean>
</server>
更新:
我尝试了以下代码
<?xml version="1.0" encoding="UTF-8"?>
<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="*[(@* != 'DELETE')]"/>
</xsl:stylesheet>
有些它不工作,它删除了 xml 文件中的所有内容并显示一个空文件。