我尝试从xsd生成类但我遇到了第二行的问题
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:saqcc="urn:saq:cct:cct-3.5.xsd" xmlns:flx="urn:saq:mtl:grey:flux:04489:rep-1.0.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:saq:mtl:grey:flux:04489:rep-1.0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1">
...
我收到了这个错误:
[错误] prolog中不允许使用内容。 所以xjc似乎有架构问题
这个xsd有一个导入,在这个导入中有另一个导入...所以我不知道什么时候如果xjc能够管理错误将被删除...
答案 0 :(得分:4)
我遇到了这个问题,结果证明编码是个问题:
<?xml version="1.0" encoding="utf-8"?>
有效但
<?xml version="1.0" encoding="utf-16"?>
没有(至少在我的Windows7 / 64位操作系统上)。
答案 1 :(得分:2)
当我在任何类型的XML文档中出现此错误时,通常是因为<?xml
之前的某些(不可见)内容。更具体地说,这是由于某些编辑器添加的BOM(byte order mark)。在我的情况下,主要是由于此BOM:
检查文件中是否包含此类内容。如果您这样做,请将其删除。 XML文件不需要BOM,因为它们可以在prolog中正式指定编码,如下所示:
<?xml version="1.0" encoding="utf-8"?>
UPDATE :prolog 必须是格式良好的XML的第一部分,正如w3c在此定义的那样: