如何在元素值中添加“ <”>”?

时间:2019-09-20 09:27:32

标签: xml xslt xslt-1.0 cdata

我需要为ceneo准备XML,并且必须添加

<![CDATA[text]]> 

对于所有这样的值:

<a name="Kod_producenta"><![CDATA[82981]]></a>
<a name="EAN"><![CDATA[5907640829815]]></a>

无法使用我的xslt:

<a>
    <xsl:attribute name="name">
        <xsl:value-of select="'Producent'"/>
    </xsl:attribute>
    <xsl:value-of select="concat('<![CDATA[', producer/@name, ']]>')"/>
</a>

我遇到类似以下错误:

  

元素类型不能包含“ <”字符

1 个答案:

答案 0 :(得分:1)

永远不可能在XSLT中直接编写词法标记(除非可能使用disable-output-escapeing hack,仅在某些情况下才有效)。 XSLT旨在生成节点树,而不是词法XML输出,并且定义该树的XDM数据模型不了解CDATA。

您的XML使用者真的不在乎文本是否在CDATA节中,但是如果这样,您可以在序列化时使用const offset = moment(new Date()).utcOffset() const str = moment(processItem.beginTime).add(offset, 'minutes') const result = moment(str).format()//iso yyyy-MM-ddThh:mm:ss console.log(result)

添加它。