2011-05-14 86 views
0

取出由XML数据,因此我们通过一个事务使用具有相同标签名,但该标记名称值的XML是不同的XSLT

<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 

希望,我们需要设置一个循环每次请指导我...

+0

您应该提供您的xml源代码示例以及希望获得某些答案的xml输出示例。 – 2011-05-14 05:44:42

+0

美元,欧元,德纳尔卢比,欧元,德纳尔..........要求输出 – pubby 2011-05-14 05:46:52

+0

以什么为基础的人投票否定...如果他们知道输出的请求,请蛤蜊不要让我的声誉 – pubby 2011-05-14 05:53:56

回答

1

那么,你完全改变了你的第一个例子,所以我的第一个答案不匹配任何更多你的问题。这让我们的讨论对外界人士来说毫无价值。不过,我将我的解决方案适用于您的新输入数据:

<?xml version="1.0" encoding="UTF-8" ?> 
<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/block3/tag[name='32']"> 
     <xsl:variable name = "first-val" select="value"/> 
     <xsl:for-each select ="/swift/message/block4/tag[name='77']"> 
      <xsl:value-of select="concat($first-val, ',',value)"/> 
<xsl:text> 
</xsl:text> 
     </xsl:for-each> 
    </xsl:for-each> 

    </xsl:template> 
</xsl:stylesheet> 

希望这有助于您。

+0

@doc布朗感谢您对上述输出循环计数器的答复将需要我认为是这样.. – pubby 2011-05-18 06:04:02

+0

@pubby:有问题要理解你的评论,对不起。那么这是您的案例的解决方案,还是您的情况更复杂?请澄清。 – 2011-05-18 06:28:16

+0

不是你提供的解决方案,它是不正确的..我希望首先我们需要得到重复的标签值,我们需要在xslt中应用一个循环好吧,让我编辑xml和xslt,一旦我希望你能理解更好的老板 – pubby 2011-05-18 06:39:13

相关问题