My Input xml的格式如下
<root>
<entity>
<entityrecord>
<field>
<id>Parent</id>
<value>P-1</value>
</field>
<entity>
<entityrecord>
<field>
<id>Child</id>
<value>C-1</value>
</field>
</entityrecord>
<entityrecord>
<field>
<id>Child</id>
<value>C-2</value>
</field>
</entityrecord>
</entity>
</entityrecord>
<entityrecord>
<field>
<id>Parent</id>
<value>P-2</value>
</field>
<entity>
<entityrecord>
<field>
<id>Child</id>
<value>C-1</value>
</field>
</entityrecord>
<entityrecord>
<field>
<id>Child</id>
<value>C-2</value>
</field>
</entityrecord>
<entityrecord>
<field>
<id>Child</id>
<value>C-3</value>
</field>
</entityrecord>
</entity>
</entityrecord>
<entityrecord>
<field>
<id>Parent</id>
<value>P-3</value>
</field>
<entity>
<entityrecord>
<field>
<id>Child</id>
<value>C-1</value>
</field>
</entityrecord>
<entityrecord>
<field>
<id>Child</id>
<value>C-2</value>
</field>
</entityrecord>
<entityrecord>
<field>
<id>Child</id>
<value>C-3</value>
</field>
</entityrecord>
</entity>
</entityrecord>
</entity>
</root>
我的输出格式应该是
1^P-1
2^C-1
3^C-2
4^P-2
5^C-1
6^C-2
7^C-3
8^P-3
9^C-1
10^C-2
11^C-3
我尝试了许多不同的方法来完成这项工作,但都没有成功。我无法生成序列号。在这种情况下,有人能帮我吗?
假设提供的输出中重复的6是错误的,请尝试:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:strip-space elements="*"/>
<xsl:template match="field">
<xsl:number count="field" level="any"/>
<xsl:text>^</xsl:text>
<xsl:value-of select="value"/>
<xsl:text> </xsl:text>
</xsl:template>
</xsl:stylesheet>
应用于您的示例输入,结果将是:
1^P-1
2^C-1
3^C-2
4^P-2
5^C-1
6^C-2
7^C-3
8^P-3
9^C-1
10^C-2
11^C-3