0

我知道一个普通的 xml 文件有缩进和空格,比如:

<?xml version="1.0" encoding="UTF-8"?>
  <root>
   <child foo="bar"></child>
  </root>
</xml>

但是如果我把它写在一行中

<?xml version="1.0" encoding="UTF-8"?><root><child foo="bar"></child></root></xml>

它计算一个xml文件吗?

如果是 rss feed xml,读者可以正确阅读吗?

4

2 回答 2

1

这两个示例都不是有效的 XML!XML 标头<?xml version="1.0" encoding="UTF-8"?>不是元素,因此不会在最后关闭。这是一个有效的 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <child foo="bar"></child>
</root>

将 XML 写为单行也是有效的,但如果两个版本相等,则取决于您的 XSD 。如果您允许混合内容,则空格和缩进很重要。

于 2013-01-14T08:36:56.377 回答
0

通常,缩进是可选的。关于缩进是否有意义,即空格是否改变了 XML 消息的信息内容,有复杂的规则。出于对 DTD 或 XSD 模式进行验证的目的,如果缩进出现在具有“仅元素内容”的元素中,则忽略缩进,但如果缩进出现在具有“混合内容”的元素中,则不会。如果您使用 XSLT 2.0 或 XQuery 进行处理,则相同的规则会影响应用程序是否看到缩进空格。但是对于较低级别的解析接口,您的应用程序将始终被通知空白,并且必须自行决定是否忽略它。

于 2013-01-14T11:20:04.983 回答