2017-09-05 32 views
0

我必須使用XSLT將xml文件轉換爲csv文件。無法轉換XML,其中<ns0:

但在這裏,我受夠了NS0 :, NS1:等技術問題......

我在XSLT/XML初學者

現在我的XSL是類似於此之一:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
      xmlns:ns0="http://www.tibco.com/XSD/1.0" 
      xmlns:ns1="http://www.42site.com/ship/5.0"> 
<xsl:output method="text" /> 

    <xsl:template match="/"> 
     <xsl:text>Day,Month,Year</xsl:text> 
     <xsl:text>&#xa;</xsl:text> 
     <xsl:apply-templates select="ns0:parameters"/>  
    </xsl:template> 

    <xsl:template match="ns0:parameters"> 
     <xsl:apply-templates select="ns1:Get/info"/> 
     <xsl:text>&#xa;</xsl:text> 
    </xsl:template> 

    <xsl:template match="info"> 
     <xsl:value-of select="Day"/> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="Month"/> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="Year"/> 
    </xsl:template> 

</xsl:stylesheet> 

,我用這個樣式表對這種XML的:

<?xml version="1.0" encoding="UTF-8"?> 
    <ns0:parameters xmlns:ns0="http://www.tibco.com/XSD/1.0"> 
     <ns1:Get xmlns:ns1="http://www.42site.com/ship/5.0"> 
      <info> 
       <Day>31</Day> 
       <Month>01</Month> 
       <Year>2000</Year> 
      </info> 
     </ns1:Get> 
    </ns0:parameters> 

所以,你可以想像,我t不與工作,結果如下:

day,month,year 

,我希望這樣的:

day,month,year 
31,01,2000 

我現在有這樣的錯誤:

rulestest.xsl:2:97: The prefix "xsl" for element "xsl:stylesheet" is not bound. 

謝謝,對不起我的英語不好。

PS:我最後一篇文章被標記爲現有問題,但找不到解決方案。

+0

您的問題中的XML與您使用的是完全相同的嗎?或者你的真正的XML是否具有'xmlns:ns0 =「http:// ....」'形式的名稱空間聲明。如果它有這些聲明,你應該編輯你的問題來顯示它。如果不是,那麼它將不是有效的XML,因此您將無法在其上使用XSLT。 –

+0

嗨,感謝您的回覆,我編輯帖子 –

回答

2

您之前的問題已作爲Add additional namespace with XSLT問題的副本關閉。這確實包含了答案,因爲第一句...

First you need to declare the various namespaces in your stylesheet...

所以,這只是意味着增加的ns0ns1聲明您xsl:stylesheet節點

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
       xmlns:ns0="http://www.tibco.com/XSD/1.0" 
       xmlns:ns1="http://www.42site.com/ship/5.0"> 

http://xsltransform.net/ehVYZNy看到它在行動

請注意,使用您當前的XSLT,您應該確實收到了一條符合以下條件的錯誤:Prefix must resolve to a namespace: ns0

+0

就像你說的,我有一個前綴錯誤,「xsl:stylesheet的前綴未綁定...感謝您的實時測試鏈接! –

+1

您應該永遠記住把你在問題中得到的任何錯誤都告訴你,謝謝! –

相關問題