1

以下のタイプのxmlがあります

`<ns:response>
 <ns:transport_car>
  <ns:transport_model> abc</ns:transport_model>
  <ns:transport_model> xyz</ns:transport_model>
   </ns:transport_car>
    </ns:response>`

この xsl をフォーマットしてフォームのテキストを印刷するにはどうすればよいですか:

Transport type= car
Model name:
abc xyz
4

2 に答える 2

0

これはどうですか:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:ns="something">
  <xsl:output method="text" indent="yes"/>

  <xsl:template match="/*">
    <xsl:apply-templates
      select="*[substring-after(local-name(), 'transport_') != '']" />
  </xsl:template>

  <xsl:template match="/*/*">
    <xsl:value-of
      select="concat('Transport type= ', 
                     substring-after(local-name(), 'transport_'),
                     '&#xA;Model name:&#xA;')"/>
    <xsl:apply-templates select="ns:transport_model" />
  </xsl:template>

  <xsl:template match="ns:transport_model">
    <xsl:value-of select="concat(normalize-space(), ' ')"/>
  </xsl:template>
</xsl:stylesheet>

サンプル入力で実行すると (名前空間が追加されたら)、結果は次のようになります。

Transport type= car
Model name:
abc xyz 
于 2013-04-25T01:06:25.270 に答える