I have this XML file:
<Response> <errorCode>error Code</errorCode> <errorMessage>msg</errorMessage> <ResponseParameters> <className> <attribute1>a</attribute1> <attribute2>b</attribute2> </className> </ResponseParameters> </Response>
And I want the output to be:
<className> <attribute1>a</attribute1> <attribute2>b</attribute2> </className>
My current XSL file is including also ‘ResponseParameters’ tag, which I do not want.
EDIT: note that the node className is dynamic. I do not know what will be this name at runtime.
<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'> <xsl:output indent='yes' /> <xsl:template match='/'> <xsl:copy-of select='//ResponseParameters'> </xsl:copy-of> </xsl:template> </xsl:stylesheet>
Use :
The
'//'abbreviation is very expensive (causes the complete XML document to be scanned), and should be avoided.