小菜又鸟 2021-07-03 17:17 采纳率: 64.7%
浏览 94

xml文件出现do not fulfill production 'prolog'

代码第二行出现这个错误
Characters following '<! ' do not fulfill production 'prolog'.

<! DOCTYPE root[
<! ELEMENT root(shop)+>
<! ELEMENT shop (name,address,size, pic * ,remark? )>
<! ELEMENT name(# PCDATA)>
<! ELEMENT address(# PCDATA)>
<! ELEMENT size(# PCDATA)>
<! ELEMENT pic(# PCDATA)>
<! ELEMENT remark(#PCDATA)>
<! ENTITY big "旗舰店">
<! ENTITY medium "中等">
<! ENTITY small "小型">
]>
< root >

物美

文一路
&big ; 价廉
文一路
&medium ;
  • 写回答

1条回答 默认 最新

  • Lucifer_wei 2023-08-29 09:24
    关注

    这个错误是 XML 的语法错误。根据错误提示,第二行的代码中存在不满足 XML 声明规则(prolog)的字符。

    Characters following '<! ' do not fulfill production 'prolog'.
    
    

    XML 的 prolog 是用于声明文档类型和其他属性的部分。在你的代码中,出现了类似注释的内容 <! DOCTYPE root[ ... ]>,但它实际上应该放在文件开头而不是 标签之后。

    要修复这个问题,将 <! DOCTYPE root[ ... ]> 和注释部分移动到 标签之前,确保 prolog 部分在文件的开头,像这样:

    <!DOCTYPE root [
        <!ELEMENT root (shop)+>
        <!ELEMENT shop (name, address, size, pic*, remark?)>
        <!ELEMENT name (#PCDATA)>
        <!ELEMENT address (#PCDATA)>
        <!ELEMENT size (#PCDATA)>
        <!ELEMENT pic (#PCDATA)>
        <!ELEMENT remark (#PCDATA)>
        <!ENTITY big "旗舰店">
        <!ENTITY medium "中等">
        <!ENTITY small "小型">
    ]>
    <root>
        <!-- 在这里添加 shop 元素和其他内容 -->
    </root>
    
    

    请注意,我还纠正了一些括号和空格方面的问题,确保代码的正确性。

    评论

报告相同问题?