2014-10-27 71 views
0
創建循環孩子emements

我是新來的XSLT,不知道是否有解決方案,要求把emements到recursivce父/子元素XSLT - 使用常見的元素名稱

我想產生的XML:

<NAVs> 
<NAV> 
    <ShareClass1>A-USD</ShareClass1> 
</NAV> 
<NAV> 
    <ShareClass1>A-SGD</ShareClass1> 
</NAV> 
<NAV> 
    <ShareClass1>A-SGD (H)</ShareClass1> 
</NAV> 
</NAVs> 

我有XML。

<Share_class2_SH_1_NAV_lang_ID>A-USD</Share_class2_SH_1_NAV_lang_ID> 
<Share_class2_SH_2_NAV_lang_ID>A-SGD</Share_class2_SH_2_NAV_lang_ID> 
<Share_class2_SH_3_NAV_lang_ID>A-SGD (H)</Share_class2_SH_3_NAV_lang_ID> 
<Share_class2_SH_4_NAV_lang_ID>A-ACC-AUD (H)</Share_class2_SH_4_NAV_lang_ID> 

關於如何佈置XSLT模板的任何想法?

+0

您輸入的XML沒有映射到您想要的輸出XML。比較分享類。還有''發生了什麼?另外,遞歸的方式是什麼? – Tomalak 2014-10-27 17:00:48

+0

您還未回覆我的評論。請不要讓我們猜測輸入XML如何映射到輸出XML。這浪費了大家的時間。相反,請添加全面的說明。 – Tomalak 2014-10-28 11:38:26

+0

我已經更新了我的初始請求,XML將映射。我的目標是從現有的XML中創建父/子元素 – 2014-10-28 14:19:46

回答

0

我猜(!)你想要的樣式如下所示。但是,首先你需要一個格式良好的XML輸入 - 一個具有根元素,例如:

<input> 
    <Share_class2_SH_1_NAV_lang_ID>A-USD</Share_class2_SH_1_NAV_lang_ID> 
    <Share_class2_SH_2_NAV_lang_ID>A-SGD</Share_class2_SH_2_NAV_lang_ID> 
    <Share_class2_SH_3_NAV_lang_ID>A-SGD (H)</Share_class2_SH_3_NAV_lang_ID> 
    <Share_class2_SH_4_NAV_lang_ID>A-ACC-AUD (H)</Share_class2_SH_4_NAV_lang_ID> 
</input> 

應用以下樣式:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 

<xsl:template match="/input"> 
    <NAVs> 
     <xsl:for-each select="*"> 
      <NAV> 
       <ShareClass1><xsl:value-of select="."/></ShareClass1> 
      </NAV> 
     </xsl:for-each> 
    </NAVs> 
</xsl:template> 

</xsl:stylesheet> 

會產生:

<?xml version="1.0" encoding="UTF-8"?> 
<NAVs> 
    <NAV> 
     <ShareClass1>A-USD</ShareClass1> 
    </NAV> 
    <NAV> 
     <ShareClass1>A-SGD</ShareClass1> 
    </NAV> 
    <NAV> 
     <ShareClass1>A-SGD (H)</ShareClass1> 
    </NAV> 
    <NAV> 
     <ShareClass1>A-ACC-AUD (H)</ShareClass1> 
    </NAV> 
</NAVs> 

這可能是也可能不是你正在尋找的結果。

+0

你好 - 謝謝@ michael.hor257k爲迴應和明天的完整XML(格式良好) - 我也有我希望將其他元素包含到

+2

@GraemeMackay http://stackoverflow.com/help/someone-answers – 2014-10-27 21:44:48

相關問題