【问题标题】:Can not find declaration of element 'xml'找不到元素“xml”的声明
【发布时间】:2012-07-02 01:46:31
【问题描述】:

我从 python 中收到很多与我的 xml 文件相关的解析错误。我在 stackoverflow 的其他地方读到我应该首先验证 xml 文件。

我不明白为什么这个 xml 不会验证:

<xml><hive name="myprojectname">

XML 验证器这样说 错误:找不到元素“xml”的声明。 错误位置:&lt;xml&gt;&lt;hive name="myprojectname"&gt;

【问题讨论】:

  • 您使用的是什么 XML 验证器?你通过什么选项?为什么使用xml 作为根节点的名称?
  • 我正在使用validome.org/xml/validate
  • 我不确定“根节点” - 我只是使用为项目提供的 xml 文件。所有示例都有这种格式。
  • 您发布的只是错误消息还是整个 XML 文件?您提交的片段不是有效的 XML 文档。 “xml”和“hive”标签都没有被关闭。您更有可能发布了错误消息....在这种情况下,如果不查看正在验证的内容,我们将无法帮助您....

标签: python xml validation


【解决方案1】:

您使用的验证器似乎是基于 DTD 的验证器。除非你告诉它只检查格式是否正确(在这种情况下,它不会检查你的元素和属性是否正确,只是你以理智的顺序打开/关闭元素,引用你的属性值等)然后你必须开始带有Doctype 的 XML 文档,以便它可以找到 DTD。

【讨论】:

  • 感谢您的回复。我觉得验证不是我的问题,因为我得到的 python 脚本一直在使用这些 xml 文件(对于其他人)。可能是其他问题。我是新来的 - 对不起,如果我弄错了。我应该在新问题中发布 python 错误吗?
【解决方案2】:

这个:

<xml><hive name="myprojectname">

http://www.validome.org/xml/validate/ 中无效,因为首先您必须在此处选中“仅格式良好”选项。

其次,它必须遵循 XML 规则,http://en.wikipedia.org/wiki/XML#Well-formedness_and_error-handling。所以应该是这样的:

<xml><hive name="myprojectname"/></xml>

【讨论】:

    猜你喜欢
    • 2015-07-04
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多