首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要在XSL中帮助DOE (禁用-输出-escpaing)

需要在XSL中帮助DOE (禁用-输出-escpaing)
EN

Stack Overflow用户
提问于 2016-12-27 04:40:36
回答 1查看 39关注 0票数 0

我有这个输入XML,在这个输入XML中,我想使用disable-output-escaping特性来代替",而不是在输出"中使用"。我在下面的XSL上尝试了各种各样的东西,但是没有用--一些东西正在破坏所需的name标记。

输入XML:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<book>
    <name>&quot;test&quot;</name>
    <type>computer</type>
</book>

变换XSL:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="book">
        <book>
            <xsl:apply-templates />
        </book>
    </xsl:template>
    <xsl:template match="name">
        <name>
            <xsl:text disable-output-escaping="yes">
                <![CDATA[&quot;test&quot;]]>
            </xsl:text>
        </name>
    </xsl:template>
    <xsl:template match="type">
        <genre>
            <xsl:apply-templates />
        </genre>
    </xsl:template>
</xsl:stylesheet>

所需的输出XML:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<book>
    <name>"test"</name>
    <genre>computer</genre>
</book>

我得到的输出XML:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?><book>
    <name>
                &quot;test&quot;
            </name>
    <genre>computer</genre>
</book>

有人能提供一些关于如何做到这一点的见解吗?

我一直在寻找各种来源,但没有用来修复这个!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-27 05:38:10

通过将文本放入样式表中的CDATA中,您将强制对其进行字面处理。如果不是在CDATA中,它的工作方式是你想要的。没有理由让它出现在样式表的CDATA部分中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41339079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档