为了账号安全,请及时绑定邮箱和手机立即绑定

如何在XML属性中保存换行符?

如何在XML属性中保存换行符?

芜湖不芜 2019-12-03 11:06:58
我需要在某些XML属性而不是文本中保存包含换行符的内容。应该选择该方法,以便我能够在XSLT 1.0 / ESXLT / XSLT 2.0中对其进行解码最好的编码方法是什么?请提出/提出一些想法。
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

在兼容的DOM API中,您无需执行任何操作。只需将实际的换行符保存到属性中,API就会自行对其进行正确编码(请参见Canonical XML规范,第5.2节)。


如果您进行自己的编码(即在保存属性值之前替换\n为
),则API将再次对您的输入进行编码,从而生成
XML文件。


底线是,字符串值按原样保存。您可以摆脱自己的投入,无需干预。


但是 ……某些实现不符合要求。例如,它们将&在属性值中编码字符,而忽略换行符或制表符。这使您处于失败的位置,因为您不能简单地
预先用换行符替换。


这些实现将保存未编码的换行符,如下所示:


<xml attribute="line 1

line 2" />

解析此类文档后,属性中的文字换行符将被规范化为一个空格(同样,按照规范),因此它们将丢失。


在这些实现中,无法在属性中保存(并保留!)换行符。


查看完整回答
反对 回复 2019-12-03
?
呼如林

TA贡献1798条经验 获得超3个赞

您可以使用该实体&#10;在XML属性中表示换行符。&#13;可用于表示回车。Windows样式的CRLF可以表示为&#13;&#10;。


这是合法的XML语法。有关更多详细信息,请参见XML规范。


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 1419 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信