WCF RESTful服务中的XML声明标记

时间:2012-10-03 09:23:40

标签: xml wcf xsd

将此<?xml version="1.0" encoding="UTF-8" standalone="yes"?>之类的XML声明标记包含到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,我们还需要强制设置声明标签吗?

1 个答案:

答案 0 :(得分:0)

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

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

根据问题的第二部分,当您开始想要更改文档的编码时,声明就变得必要了。因此,如果其他系统开始不得不消耗您正在生成的数据,那么稍后您将通过包含声明来节省很多麻烦。