如何将Excel电子表格导出到XML,但属性已被改为元素?

我在这个视图中将电子表格从Excel保存到XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <companies> <company> <employee> <code>1</code> <name/> <street>14th street</street> <houseno>1</houseno> <areacode>1050 DD</areacode> <place>NoWhere</place> <phone>0100 987654</phone> </employee> </company> </companies> 

但是我需要这个:

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <companies> <company> <employee code="1" name="" street="14th street" houseno="1" areacode="1050 DD" place="NoWhere" phone="0100 987654"> </employee> </company> </companies> 

请告诉我如何解决这个问题?

这个XSLT 1.0样式表可以做到这一点( 在这里用你的示例XML来试试 )。

 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes" /> <xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="node() | @*" /> </xsl:copy> </xsl:template> <xsl:template match="employee"> <xsl:copy> <xsl:apply-templates select="*" /> </xsl:copy> </xsl:template> <xsl:template match="employee/*"> <xsl:attribute name="{name()}"> <xsl:value-of select="." /> </xsl:attribute> </xsl:template> </xsl:stylesheet> 

现在这取决于你的环境如何使用它。 有几个提供XSLT支持的工具和库。

您使用XSLT来转换您的XML数据。