如何从 XSLT 2.0 中的 For-Each 获取重复元素
How to get repeated element from For-Each in XSLT 2.0
我想在 XSLT 2.0 中获取重复元素。但是有一个限制,我必须只使用 "For-each" 循环来做到这一点。
输入XML:
<Data>
<Movie>
<name>A</name>
<writer>B</writer>
<writer>C</writer>
<director>D</director>
</Movie>
<Movie>
<name>A</name>
<writer>B</writer>
<writer>C</writer>
<director>D</director>
</Movie>
</Data>
预期输出 XML:
<Imdb>
<Film>
<writer>B</writer>
<writer>C</writer>
</Film>
<Film>
<writer>B</writer>
<writer>C</writer>
</Film>
</Imdb>
当前输出:
<?xml version="1.0" encoding="UTF-8"?>
<Imdb>
<Film>
<writer>B</writer>
<writer>B</writer>
</Film>
</Imdb>
MyXSLT:
<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="Data">
<Film>
<xsl:for-each select="Movie">
<writer>
<xsl:value-of select="writer" />
</writer>
</xsl:for-each>
</Film>
</xsl:template>
</xsl:stylesheet>
注:
我只需要使用for each 循环或for each group by 循环来完成上述任务。所以任何人都可以提供帮助。
这样试试?
<xsl:template match="/Data">
<Imdb>
<xsl:for-each select="Movie">
<Film>
<xsl:copy-of select="writer"/>
</Film>
</xsl:for-each>
</Imdb>
</xsl:template>
我不明白你的意思:
I need to achieve the above mentioned task only with for each loop or
for each group by loop.
您确定要使用最高效的代码来完成上述任务吗?
我想在 XSLT 2.0 中获取重复元素。但是有一个限制,我必须只使用 "For-each" 循环来做到这一点。
输入XML:
<Data>
<Movie>
<name>A</name>
<writer>B</writer>
<writer>C</writer>
<director>D</director>
</Movie>
<Movie>
<name>A</name>
<writer>B</writer>
<writer>C</writer>
<director>D</director>
</Movie>
</Data>
预期输出 XML:
<Imdb>
<Film>
<writer>B</writer>
<writer>C</writer>
</Film>
<Film>
<writer>B</writer>
<writer>C</writer>
</Film>
</Imdb>
当前输出:
<?xml version="1.0" encoding="UTF-8"?>
<Imdb>
<Film>
<writer>B</writer>
<writer>B</writer>
</Film>
</Imdb>
MyXSLT:
<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="Data">
<Film>
<xsl:for-each select="Movie">
<writer>
<xsl:value-of select="writer" />
</writer>
</xsl:for-each>
</Film>
</xsl:template>
</xsl:stylesheet>
注:
我只需要使用for each 循环或for each group by 循环来完成上述任务。所以任何人都可以提供帮助。
这样试试?
<xsl:template match="/Data">
<Imdb>
<xsl:for-each select="Movie">
<Film>
<xsl:copy-of select="writer"/>
</Film>
</xsl:for-each>
</Imdb>
</xsl:template>
我不明白你的意思:
I need to achieve the above mentioned task only with for each loop or for each group by loop.
您确定要使用最高效的代码来完成上述任务吗?