XML文件中的第一个字符必须是<空格或空格.格式良好的XML文档可以从没有其他角色开始,包括#.
根据可扩展标记语言(XML)1.0(第五版) XML EBNF for Well-Formed XML Documents:
Run Code Online (Sandbox Code Playgroud)[1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' [27] Misc ::= Comment | PI | S [3] S ::= (#x20 | #x9 | #xD | #xA)+ [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->' [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' intSubset ']' S?)? '>' [39] element ::= EmptyElemTag | STag content ETag [44] EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' [40] STag ::= '<' Name (S Attribute)* S? '>'
从document生产及其组成部分可以看出,XML文档必须以下列之一开头:
<(通过XMLDecl,Comment,PI,doctypedecl,或element)或XMLDecl).