必须在XML声明后面添加新行吗?

And*_*rej 10 xml

这是一个有效的XML实例吗?它在XML声明和根节点之间没有任何内容.

<?xml version="1.0" encoding="UTF-8"?><data></data>
Run Code Online (Sandbox Code Playgroud)

我自己在XML规范中找不到合适的位置,希望有人能帮助我......

Mic*_*ker 10

规范(参见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] prologXML声明中看到的那样是可选的(参见符号后面的问号)和零,一个或多个(见星)Misc可以遵循以下内容:注释,其他处理指令(PI)或空白(S).空白包括换行符.

因为Misc这里是可选的,所以在声明之后可以但不必遵循换行符.