2016-04-01 8 views
0

1つのXML要素を編集しようとしています。私はこの要素の名前を別のものに変更しようとしていますが、私はそれを正しくやっているとは思っていません。下記参照。 XMLを変更したい今のところ<test1><blah>に変更したいだけです。XSLTを使用したXMLから

<Csv>  
<Row rowNo="1">  
<test1>1999-01-02T10:30:20</test1> 
<test2>200</test2> 
<test3>17</test3>  
<test4>1</test4>  
<test5>15</test5> 
<test6>10</test6>  
<test7>210</test7>  
<test8>main strip Top</test8>  
<test9>Tyre Check</test9> 
</Row> 
<Row rowNo="2"> 
<test1>2014-03-08T10:30:20</test1>  
<test2>200</test2>  
<test3>17</test3>  
<test4>1</test4>  
<test5>45</test5>  
<test6>14</test6>  
<test7>520</test7> 
<test8>main strip Left</test8>  
<test9>Tyre Fixed</test9> 

以下は私のXSL転送方法です。

<?xml version="1.0" encoding="UTF-8"?><?xe.source ../output.xml#Csv?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
    <xsl:output method="xml" media-type="text/xml"></xsl:output> 
    <xsl:template match="/"></xsl:template> 

    <xsl:template match="node()|@*"> 
    <xsl:copy> 
     <xsl:apply-templates select="node()|@*"></xsl:apply-templates> 
    </xsl:copy> 
    </xsl:template> 

    <xsl:template match="Row/test1">  
    <xsl:element name="blah"> 
     <xsl:apply-templates select="node()|@*"></xsl:apply-templates> 
    </xsl:element>   
    </xsl:template>   
</xsl:stylesheet> 

私は新しい名前で要素を置き換えることができません。

答えて

1

問題が根本Csv要素の親であり、このテンプレート一致

<xsl:template match="/"></xsl:template> 

/文書ノードと一致する、です。あなたはそれをマッチングし、そして処理を事実上止めるので、あなたのXSLTの他のテンプレートはマッチしません。

テンプレートマッチを削除すると、正常に動作します。

+0

本当にありがとう、ティムC –

関連する問題