2013-03-21 63 views
0

我有下面的XML表:XML轉換

<?xml version='1.0' encoding='windows-1256'?> 
<tc> 
<tt> 
    <sd>112</sd> 
    <sN>Good Day</sN> 
    <id>468629</id> 
    </tt> 
    </tc> 

,我想轉換成如下:

<Tada schemaVersion="2" xmlns:ge="ST" xmlns:gl="TS" xmlns:ga="SG"> 
<ge:test internalID="90566" dateAdded="2013-03-19T11:49:28" lastEdited="2013-03- 20T16:26:49" > 
    <ge:TN="World" internalID="161634" /> 

    </ge:test> 
</Tada> 

我已經削減他們兩個短,因爲他們是很長的文件。但這裏的想法是從第一個XML轉換爲第二個XML。現在,我該如何將這一行:schemaVersion放入我的最終輸出中,其餘項目應該很容易進行轉換/匹配。我會用XPath命令嘗試它們。我試着用如下XSLT:

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
    <Tada schemaVersion="2" xmlns:ge="ST" xmlns:gl="TS" xmlns:ga="SG"> 
    <xsl:template match="/"> 

<Title> 
      <xsl:value-of select="//tt/sd"> </xsl:value-of> 

     </Title> 

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

但在我的測試上面亙古不寫出來:架構版本線,而是類型從整個文件如下:

112 
Good Day 
468629 

謝謝。

回答

0

解決方案:

這似乎在這裏工作是我做過什麼:

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
     <xsl:template match="/"> 
<Tada schemaVersion="2" xmlns:ge="ST" xmlns:gl="TS" xmlns:ga="SG"> 
<Title> 
      <xsl:value-of select="//tt/sd"> </xsl:value-of> 

    </Title> 
</tada> 

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

我使用的氧氣,它爲什麼不顯示identated左側。相反,它使我可以在一行中輸出。如何解決這個問題。

編輯:

加入解決如下:

<xsl:text>&#10;</xsl:text> 

這給了我一個新的生產線