2017-03-02 68 views
1

我需要基於像在我們得到下面段等填充節點基於條件在接收機文件

<charac> 
    <charactername> 
    <charactervalue> 
    </charac> 

所以上述輸入的有效載荷下面

輸入values.the要求來填充一個段段可能會出現多次,但基於少數值只需要填充段例如,

 <charac> 
    <charactername>print</charactername> 
    <charactervalue>123</charactervalue> 
    </charac> 

    <charac> 
    <charactername>comp</charactername> 
    <charactervalue>1234</charactervalue> 
    </charac> 

    <charac> 
    <charactername>pal</charactername> 
    <charactervalue>1235</charactervalue> 
    </charac> 

所以這裏只有我需要填充段characterna我僅等於打印排版

接收機結構的段是

<e1edl1> 
    <at> 
    <rt> 
    </e1edl1> 

所以輸出應該像

<e1edl1> 
    <at>print</at> 
    <rt>123</rt> 
    </e1edl1> 

    <e1edl1> 
    <at>comp</at> 
    <rt>1234</rt> 
    </e1edl1> 

我用下面的代碼

試圖
<ns0:if test="count(./charac)!=0"> 
<ns0:for-each select="./charac"> 
<e1edl1 SEGMENT="1"> 
<at> 
    <ns0:value-of select="charactername" /> 
    </at> 
    <rt> 
    <ns0:value-of select="charactervalue" /> 
    </rt> 
    </e1edl1> 
    </ns0:for-each> 
</ns0:if> 

可以請你幫忙。

問候, Janardhan

+0

能否請您編輯您的問題,以顯示當前已試過任何XSLT?謝謝! –

+0

抱歉蒂姆,我是新來的這個xslt代碼,我試過了,但我無法得到正確的語法..我需要你的幫助。 –

+0

我已經添加了一些代碼,但基於條件我無法填充。 –

回答

0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:strip-space elements="*"/> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 


<xsl:template match="/"> 
<xsl:apply-templates select="//charac[charactername='print' or charactername='comp']" /> 
</xsl:template> 


<xsl:template match="charac"> 
    <e1edl1> 
     <at><xsl:value-of select="charactername" /></at> 
     <rt><xsl:value-of select="charactervalue" /></rt> 
    </e1edl1> 
</xsl:template> 


</xsl:stylesheet>