How to remove all text from an XML document
How can I remove all the text but leave the structure intact?
eg:
<animals>
<animal id="1">
<type>cat</type>
<food>
<fav>miauwmjam</fav>
<quantity unit="day">50g</quantity>
</food>
</animal>
</animals>
converted to
<animals>
<animal id="">
<type></type>
<food>
<fav></fav>
<quantity unit=""></quantity>
</food>
</animal>
</animals>
so the vales attributes are empty ...
+1
source to share
1 answer
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<!-- copy all nodes -->
<xsl:template match="node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- clear attributes -->
<xsl:template match="@*">
<xsl:attribute name="{name()}" />
</xsl:template>
<!-- ignore text content of nodex -->
<xsl:template match="text()" />
</xsl:stylesheet>
+4
source to share