I am using XSLT to do XML to XML by removing some nodes. I am new to XSLt and it is confusing.
XML input,
<?xml version="1.0" encoding="UTF-8"?>
<role>
<status>success</status>
<data>
<name>ac1</name>
</data>
<data>
<name>ac2</name>
</data>
<data>
<name>ac3</name>
</data>
<day>monday</day>
</role>
XSLT is,
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="utf-8" indent="yes" />
<xsl:template match="role">
<xsl:copy>
<xsl:for-each select="data">
<disaply_name>
<xsl:value-of select="name" />
</disaply_name>
</xsl:for-each>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Output is,
<?xml version="1.0" encoding="utf-8"?>
<role>
<disaply_name>ac1</disaply_name>
<disaply_name>ac2</disaply_name>
<disaply_name>ac3</disaply_name>
</role>
Expected Output is,
<?xml version="1.0" encoding="utf-8"?>
<root>
<role2>
<disaply_name>ac1</disaply_name>
</role2>
<role2>
<disaply_name>ac2</disaply_name>
</role2>
<role2>
<disaply_name>ac3</disaply_name>
</role2>
</root>
What should I modify? .......................
<role>tags, as it is a root node. Your expected output is not valid XML.