2017-11-03 13 views
0

xsltコードに従うのに助けが必要です。 私のように入力を持っている:としてXSLT子ノードテキストを親ノードにコピー

<book> 
     <book1> 
      <name>abc</name> 
      <revision>1</revision> 
     </book1> 
     <book2> 
      <name>pqr</name> 
      <author>def</author> 
     </book2> 
</book> 

私の予想される出力:

<book> 
     <item> 
      <name>book1</name> 
      <value>abc1</value> 
     </item> 
     <item> 
      <name>book2</name> 
      <value>pqrdef</value> 
     </item> 
</book> 

私は(* /テキストを使用して値ノードのフェッチ値を試してみました)が、私は最初の子からテキストを取得します。将来私はそのような子要素をたくさん持っています。

ありがとうございます。

よろしく、 Minakshi

+0

XSLTファイルを共有してください。 – JLRishe

答えて

0

このスタイルシートは何をしたいあなたを与えるだろう。 boonK要素の子が増えても、テンプレートを変更する必要はありません。

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

    <xsl:output method="xml" encoding="UTF-8" indent="yes"/> 

    <xsl:template match="book"> 
     <xsl:copy> 
      <xsl:apply-templates select="*"/> 
     </xsl:copy> 
    </xsl:template> 

    <xsl:template match="book/*"> 
     <item> 
      <name> 
       <xsl:value-of select="name()"/> 
      </name> 
      <value> 
       <xsl:for-each select="*"> 
        <xsl:value-of select="."/> 
       </xsl:for-each> 
      </value> 
     </item> 
    </xsl:template> 

</xsl:stylesheet> 
+0

助けてくれてありがとう。それはうまくいく。私のxsltは、各ループのforを除いてあなたのものと似ていました。私はこのように今解決された余分なスペースをたくさん得ていた。ありがとう –

関連する問題