我想删除包含值'()z()'和空标记的记录, 输入XML:
<R>
<B_01>
<C_01_02>()z()</C_01_02>
<C_01_03>()z()</C_01_03>
<C_01_04>()z()</C_01_04>
<C_01_05>()z()</C_01_05>
<B_01_01>
<C_01_01_01>()z()</C_01_01_01>
<C_01_01_02>()z()</C_01_01_02>
</B_01_01>
</B_01>
<B_01>
<C_01_01>1116</C_01_01>
<C_01_02>0</C_01_02>
<C_01_03>1944-01-01T00:00:00</C_01_03>
<B_01_01>
<C_01_01_01>1900001761</C_01_01_01>
<M_01_01_01>0</M_01_01_01>
<M_01_01_01>1</M_01_01_01>
<M_01_01_02/><M_01_01_03/>
</B_01_01>
<M_01_01/>
<M_01_02/>
<M_01_03/>
<T1_01_01>ARNAUD</T1_01_01>
<T1_01_02>JEAN MARIE</T1_01_02>
</B_01>
</R>
我尝试了许多scirpts,但它没有用
感谢您的帮助
答案 0 :(得分:1)
也许这个?
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output omit-xml-declaration="no" indent="no"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<!--xsl:template match="*[not(text()) or text() = '()z()']"/-->
<xsl:template match="*[not(node()) or text() = '()z()']"/> <!-- better -->
</xsl:stylesheet>