【发布时间】:2017-03-31 19:28:11
【问题描述】:
XML:
<message code="100" description="checkSnr">
<string name="id"/>
<string name="serialNr"/>
</message>
XSL:
<xsl:template match="/">
<xsl:for-each select="machine/events">
<xsl:text>;</xsl:text>
<xsl:value-of select="message/@code"/>
<xsl:text>;</xsl:text>
<xsl:value-of select="message/string/@name" />
<xsl:text>;</xsl:text>
<xsl:value-of select="message/string/@name" />
</xsl:for-each>
</xsl:template>
所以这是我的问题。我的 XSL 文件应该检测到值“id”和值“serialNr”,但我的输出是“id”x2。我知道它只是逻辑的,但我如何才能真正更改我的 XSL 以便它给我两个值? (顺便说一句,在 XML 中有一些部分,其中变量“字符串名称”被使用了 4 次)我想用循环重写 XML,以便将名称变量重命名为 name1、name2、name3 等等,但我不知道该怎么做。如果您能想到 Java 中的任何解决方案,我会使用 Java 作为转换器。 如果重要的话,我的输出格式是 .CSV。
(也欢迎任何其他改进 XSL 的技巧)
谢谢!
【问题讨论】: