如何转换此XML文件:
<file>
<text ID="201" date="2014-05-04">
<user_name>user_11</user_name>
<message> HELLO </message>
</text>
</file>
使用XSLT 1.0进入此XML文件:
<doc>
<user name="user_11">
<text id="201" date="2014-05-04"> HELLO </text>
</user>
</doc>
此外,如果您有关于此主题的任何资源,请发布,因为我有更多的XSLT文件代码。感谢
答案 0 :(得分:4)
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<doc>
<xsl:for-each select="file/text">
<user name="{user_name}">
<text id="{@ID}" date="{@date}">
<xsl:value-of select="message" />
</text>
</user>
</xsl:for-each>
</doc>
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:2)
我假设你XML
中有一个文件容器,无论如何你正在寻找这样的东西:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<docs>
<xsl:for-each select="files/file">
<xsl:element name="doc">
<xsl:element name="text">
<xsl:attribute name="name">
<xsl:value-of select="text/user_name" />
</xsl:attribute>
<xsl:element name="text">
<xsl:attribute name="id">
<xsl:value-of select="text/@ID" />
</xsl:attribute>
<xsl:attribute name="date">
<xsl:value-of select="text/@date" />
</xsl:attribute>
<xsl:value-of select="text/message" />
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:for-each>
</docs>
</xsl:template>
</xsl:stylesheet>