XSLT:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/*">
<xsl:for-each select="descendant::Asset">
<xsl:if test="position()=1">
<xsl:for-each select="*">
<xsl:value-of select="name()"/><xsl:if test="not(position()=last())"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:for-each select="*">
<xsl:value-of select="."/><xsl:if test="not(position()=last())"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
XSLT to hide particular Column based on Name:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/*">
<xsl:for-each select="descendant::Asset">
<xsl:variable name="varName"><xsl:text>Name</xsl:text></xsl:variable><!--Mention the name of column to hide here -->
<xsl:variable name="varColPos">
<xsl:value-of select="count(*[name()=$varName]/preceding-sibling::*)+1"/>
</xsl:variable>
<xsl:if test="position()=1">
<xsl:for-each select="*">
<xsl:if test="not(position()=number($varColPos))"><xsl:value-of select="name()"/></xsl:if>
<xsl:if test="not(position()=last()) and not(position()=number($varColPos))"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:for-each select="*">
<xsl:if test="not(position()=number($varColPos))"><xsl:value-of select="."/></xsl:if>
<xsl:if test="not(position()=last()) and not(position()=number($varColPos))"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>