0

XML ドキュメント:

<?xml version="1.0" encoding="UTF-8"?>
<ProcessData>
    <SOAPAction>urn:echo</SOAPAction>
    <Content_Type>text/xml;charset=UTF-8</Content_Type>
    <uname>sarah_brcm</uname>
    <pwd>BRCM_UVLwNhjrA5fbgqkUNdxQXMfcCDJ</pwd>
</ProcessData>

XSLT:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
    <xsl:copy-of select="ProcessData/SOAPAction/text()"/>
    <br/>
    <xsl:copy-of select="ProcessData/Content_Type/text()"/>
</xsl:template>
</xsl:stylesheet>

ただし、出力には最初の 2 行の間に改行が含まれていません。

4

2 に答える 2

1

xslttest.appspot.com でコードを確認しましたが、動作します。どのように変換を実行しますか? ブラウザで?libxslt? ...サクソン?また、おそらく「xml」ではなく「html」出力メソッドが必要です

于 2012-07-06T12:31:24.463 に答える
1

<br/>出力HTML用です。&#13;データノード内に改行を挿入したい場合に使用することをお勧めします。

html:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
    <xsl:copy-of select="ProcessData/SOAPAction/text()"/>
    <br/>
    <xsl:copy-of select="ProcessData/Content_Type/text()"/>
</xsl:template>
</xsl:stylesheet>

XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
    <xsl:copy-of select="ProcessData/SOAPAction/text()"/>
       <xsl:text>&#13;</xsl:text>
       <xsl:text>&#13;</xsl:text>
    <xsl:copy-of select="ProcessData/Content_Type/text()"/>
</xsl:template>
</xsl:stylesheet>
于 2012-07-06T12:40:18.610 に答える