XML 解析器如何处理(数据中的)空白?

发布于 2024-10-03 06:20:57 字数 416 浏览 4 评论 0原文

如果这是示例 XML::

<root>
  <tag1>data
    data
     data</tag1>
  <tag2>
  </tag2>
  <tag3> </tag3>
</root>

该文件在不同的浏览器和 XML 查看器/编辑器中的查看方式不同,

某些查看器会将第一个 元素显示为 data 数据数据 一些按原样显示,
有些观众将换行视为nbsp(空格),有些则将空格新行视为null,

这个空白问题的标准方法是什么?

If this is a sample XML::

<root>
  <tag1>data
    data
     data</tag1>
  <tag2>
  </tag2>
  <tag3> </tag3>
</root>

This file is viewed differently in different browsers and XML viewer/editors,

some viewers display 1st <tag/> element as <tag>data data data</tag> some display as is,

Some viewers, treat new line as nbsp(space) and some treat space and new line as null,

What is the standard approach for this white-space issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

隐诗 2024-10-10 06:20:57

http://www.w3.org/TR/REC-xml/ #sec-white-space

我相信这意味着它是可选的,但默认行为应该是忽略不重要的空格。

您能给我一个显示换行符的实现示例吗?

http://www.w3.org/TR/REC-xml/#sec-white-space

I believe that means it is optional but default behaviour should be to ignore non-significant whitespace.

Can you give me an example of an implementation which is showing the line breaks?

乖乖 2024-10-10 06:20:57

结论

我针对定义了 的 XSD 验证了相同的 XML <标签2/> ... 具有枚举值(复制了标签的相同值),当我通过添加/删除空格来更改 的内容时。该架构承认不匹配,得出的结论是..一般来说 XML 解析器不会忽略空格:)
但是转换会忽略空格,这就是为什么浏览器也会忽略它,因为记事本会诚实地按原样显示。 ;)

Source/courtesy :: Nic Gibsonjambox 的答案

Conclusion

I validated the same XML against XSD which had defined <tag1/> <tag2/> ... with enumeration values, (copied same value of the tags) when I altered the contents of <tag> by adding/removing whitespace. The schema acknowledged mismatch which concludes that .. in general XML parser won't ingore the whitespace :)
But the transformation ignores whitespace, thats why the browsers ignore it too where as notepad is honest to display as is. ;)

Source/courtesy :: Nic Gibson's comment on jambox's answer

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文