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>

但输出不包含前两行之间的断线。

4

2 回答 2

1

我已经在 xslttest.appspot.com 上检查了您的代码,并且可以正常工作。你如何进行转型?在浏览器中?libxslt?……撒克逊人?你也可能需要“html”输出方法,而不是“xml”

于 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 回答