3

将这样的 XML 声明标记包含<?xml version="1.0" encoding="UTF-8" standalone="yes"?>到 WCF RESTful 服务响应中是否正确?下面的 XSD 描述了服务响应:

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="root">
  </xsd:element>
</xsd:schema>

如果编码更改为UTF-16,我们是否需要强制设置声明标签?

4

1 回答 1

0

XML 声明将文档定义为 XML,而不是恰好有很多尖括号的纯文本。所以从技术上讲,是的,您应该将它包含在 XML 文档中,以确保服务将其正确理解为 XML。

但是,在很多情况下,即使没有包含 XML 声明,XML 解析器也会尝试将一段纯文本正确解析为 XML,如果它格式正确的话。

根据您问题的第二部分,当您开始想要更改文档的编码时,声明变得有必要。因此,如果其他系统开始不得不使用您正在生成的数据,您将在以后通过包含声明来为自己省去很多麻烦。

于 2012-10-15T01:57:12.317 回答