开发者社区> 问答> 正文

对XML文档中的换行符敏感是“坏习惯”吗?

我正在生成一些XML文档,当涉及到地址部分时,我会看到如下片段:

<Address>15 Sample St
Example Bay
Some Country</Address>

用于将其转换为XHTML的XSLT具有一些时髦的递归模板,可以将字符串中的换行符转换为
标记。

一切正常。但是依靠XML文档中的换行符被认为是“不好的做法”吗?如果是这样,建议我改为这样做吗?

<Address><Line>15 Sample St</Line>
<Line>Example Bay</Line>
<Line>Some Country</Line></Address>

将我的文本可能用这样的标记多行包装的每个地方似乎真的很尴尬。

展开
收起
游客ufivfoddcd53c 2020-01-03 17:02:14 1273 0
1 条回答
写回答
取消 提交回答
  • 通常,依靠换行符被认为是不好的做法,因为这是区分数据的脆弱方法。尽管大多数XML处理器会保留您放入XML中的所有空格,但不能保证。

    真正的问题是,大多数将XML输出为可读格式的应用程序都考虑到XML可互换的所有空格,并且可能会将这些换行符折叠到一个空格中。这就是为什么您的XSLT必须跳过这种箍以正确呈现数据的原因。使用“ br”标签将极大地简化转换。

    另一个潜在的问题是,如果在XML编辑器中打开XML文档并进行漂亮打印,则很可能会丢失这些换行符。

    如果您确实继续使用换行符,请确保在“地址”中添加xml:space =“ preserve”属性。(如果您正在使用DTD,则可以在DTD中执行此操作。)

    2020-01-03 17:02:39
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载