2012-03-08 83 views
0

我正在處理XSLT轉換。我被困在一個點上。需要有關名稱空間的xslt轉換幫助

源XML:

<?xml version="1.0" encoding="ISO-8859-1"?> 
    <Content xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920"> 
    <first xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920">Hello World.This is Fisrt  field</first> 
    <second xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920">Hello World.This is second  field2</second> 
    </Content> 

輸出格式要求:

<aaa>Hello World.This is Fisrt field</aaa> 
<bbb>Hello World.This is second field</bbb> 

請提出一個解決方案。

我已經試過這

<?xml version="1.0" encoding="utf-8"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920"> 
    <xsl:output method="xml" indent="yes"/> 
    <xsl:template match="/"> 
    <aaa> 
    <xsl:value-of select="Content/first"/> 
    </aaa> 
    </xsl:template> 
    </xsl:stylesheet> 

輸出,我得到的是

<?xml version="1.0" encoding="utf-8"?> 
    <aaa xmlns="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920"></aaa> 

要求輸出

<aaa>Hello World.This is Fisrt field</aaa> 
+0

到目前爲止你有什麼問題? – Mark 2012-03-08 12:36:03

+0

我試過這個,但沒有出來。 <?xml version =「1.0」encoding =「utf-8」?> 輸出是 2012-03-08 12:40:31

+0

試過什麼? - 我看到沒有XSLT腳本 – Mark 2012-03-08 12:42:56

回答

4

這裏有一個你想要做什麼,排序的,看評論下面。

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

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:x="uuid:4522eb85-0a47-45f9-8e2b-1f82c78fa920"> 

    <xsl:output method="xml" indent="yes"/> 

    <xsl:template match="/"> 
    <xsl:element name="root"> 
     <xsl:element name="aaa"> 
     <xsl:value-of select="x:Content/x:first"/> 
     </xsl:element> 
     <xsl:element name="bbb"> 
     <xsl:value-of select="x:Content/x:second"/> 
     </xsl:element> 
    </xsl:element> 
    </xsl:template> 

</xsl:stylesheet> 

雖然某些XSLT處理器,讓你有在結果一個以上的根元素,這是它與標準語法矛盾是不可取的。

+0

非常感謝 – 2012-03-08 13:18:02

+0

「與標準語法上的矛盾」意味着它不是XML,XML工具必須拒絕它 – Mark 2012-03-08 13:52:46

+0

或者你可能希望指定一個不同的輸出格式。如果你說你不會有這個約束。 – 2012-03-09 20:30:34