如何使用xslt迭代xml
我有这样一个xml堆栈如何使用xslt迭代xml,xml,xslt,xpath,Xml,Xslt,Xpath,我有这样一个xml堆栈 <translations> <message1>A message</message1> <message2>A second message</message2> </translations> 信息 第二条信息 使用xslt和for-each方法,如何将名称(message1、message2)和值(一条消息、第二条消息)作为键/值对获取?] 编辑: 我想要的输出将用于生成java
<translations>
<message1>A message</message1>
<message2>A second message</message2>
</translations>
信息
第二条信息
使用xslt和for-each方法,如何将名称(message1、message2)和值(一条消息、第二条消息)作为键/值对获取?]
编辑:
我想要的输出将用于生成javascript对象,例如
<script type="text/javascript">
var t = {
<xsl:value-of select="name()" /> : '<xsl:value-of select="." />'
}
</script>
变量t={
: ''
}
显然,上述方法不起作用,但这是我最初的想法…您可以尝试以下方法:
<xsl:template match="translations">
<xsl:for-each select="*">
<kvp key="{name()}" value="{.}"/>
</xsl:for-each>
</xsl:template>
变量t={
'
'
,
;
}
输出:
<script type="text/javascript">var t = {message1 : 'A message',
message2 : 'A second message'
}</script>
var t={message1:'A message',
信息2:'第二条信息'
}
这几乎适用于我,但是'var t={'和'};'需要放置在循环之外。另外,如何确定我是否位于最后一个节点,以便可以省略逗号(,)?
<script type="text/javascript">var t = {message1 : 'A message',
message2 : 'A second message'
}</script>