0

以下の 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 から 2 番目の 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

ありがとうございました。

4

1 に答える 1

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>

私は酸素を使用していますが、左に識別されていないのはなぜですか。代わりに、出力がすべて 1 行で表示されます。これを修正する方法。

編集:

以下を追加することで解決しました:

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

これにより、新しい行が得られます

于 2013-03-21T09:11:19.107 に答える