这是一个有效的 XML 实例吗? XML 声明和根节点之间没有任何内容。
<?xml version="1.0" encoding="UTF-8"?><data></data>
我自己在 XML 规范中找不到正确的位置,希望有人能帮助我......
规范(请参阅2.8 Prolog 和文档类型声明)不要求(但允许)在 XML 声明后面添加换行符。
形式上,写为:
[16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' ... [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' ... [27] Misc ::= Comment | PI | S
正如您在
[22] prolog
中看到的,XML 声明是 可选(参见符号后面的问号),并且可以跟随零个、一个或多个(参见星号)Misc
,其中包括:注释、其他处理指令(PI
) 或空白 (S
)。空格包括换行符。
因为
Misc
在这里是可选的,换行符可以(但不是必须)跟在声明之后。
新行等不属于规范的一部分。例如,当您使用 XMLOutputter 类(Java 中)编写 XML 文档时,您将得到一个没有换行符的文件。换行符是给人类用的。