使用 xslt 从 xml 获取数据
有一个具有相同标签名称的 xml,但该标签名称值不同,因此我们期望像一对一事务
<swift>
<message>
<block3>
<tag>
<name>32</name>
<value>praveen</value>
</tag>
<tag>
<name>42</name>
<value>pubby</value>
</tag>
</block3>
<block4>
<tag>
<name>77</name>
<value>pravz</value>
</tag>
<tag>
<name>77</name>
<value>pubbypravz</value>
</tag>
<tag>
<name>76</name>
<value>shanmu</value>
</tag>
</block4>
</message>
</swift>
xslt
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:for-each select="swift/message">
<xsl:for-each select ="block3/tag[name = '32']">
<xsl:value-of select="value"/>
</xsl:for-each>,<xsl:text/>
<xsl:for-each select ="block4/tag[name = '77']">
<xsl:value-of select="value"/>,<xsl:text/>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
这样的输出 通过上面的 xslt,我已经达到了
praveen,pravz,pubbypravz,
所需的输出:
praveen,pravz
praveen,pubbypravz
希望我们需要每次设置一个循环,请指导我......
having a xml with same tag names but for that tag names values were different , so we expecting an output like one by one transaction
<swift>
<message>
<block3>
<tag>
<name>32</name>
<value>praveen</value>
</tag>
<tag>
<name>42</name>
<value>pubby</value>
</tag>
</block3>
<block4>
<tag>
<name>77</name>
<value>pravz</value>
</tag>
<tag>
<name>77</name>
<value>pubbypravz</value>
</tag>
<tag>
<name>76</name>
<value>shanmu</value>
</tag>
</block4>
</message>
</swift>
xslt
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:for-each select="swift/message">
<xsl:for-each select ="block3/tag[name = '32']">
<xsl:value-of select="value"/>
</xsl:for-each>,<xsl:text/>
<xsl:for-each select ="block4/tag[name = '77']">
<xsl:value-of select="value"/>,<xsl:text/>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
by this above xslt i have reached up to this
praveen,pravz,pubbypravz,
output needed:
praveen,pravz
praveen,pubbypravz
hope we need to set a loop for each time please guide me ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,你完全改变了你的第一个例子,所以我的第一个答案与你的问题不再匹配。这使得我们的讨论对于局外人来说毫无价值。尽管如此,我还是根据您的新输入数据调整了我的解决方案:
希望这会有所帮助。
Well, you changed your first example completely, so my first answer did not match any more to your question. That makes our discussion some kind of worthless for outsiders. Nevertheless, I adapted my solution to your new input data:
Hope this helps.