You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo10更新base模块触发XMLSyntaxError错误如何解决

Odoo10 base模块加载base_data.xml报错修复方案

问题描述

尝试仅启用base插件运行Odoo10,但每次加载base/base_data.xml文件时都会出现报错。使用-i init初始化新数据库,或是在旧数据库中执行-u base更新base模块,均得到相同的报错结果,推测可能是依赖库版本不匹配导致。

报错日志

2021-08-26 18:22:51,873 64535 INFO odoo10 odoo.modules.registry: module base: creating or updating database tables
2021-08-26 18:22:53,179 64535 INFO odoo10 odoo.modules.loading: loading base/res/res.lang.csv
2021-08-26 18:22:53,658 64535 INFO odoo10 odoo.modules.loading: loading base/base_data.xml
2021-08-26 18:22:53,671 64535 ERROR odoo10 odoo.models: Exception while validating constraint
Traceback (most recent call last):
  File "/home/viet/odoo-10.0/odoo/models.py", line 1081, in _validate_fields
    check(self)
  File "/home/viet/odoo-10.0/odoo/addons/base/ir/ir_ui_view.py", line 279, in _check_xml
    view_arch = etree.fromstring(encode(view.arch))
  File "src/lxml/lxml.etree.pyx", line 3213, in lxml.etree.fromstring (src/lxml/lxml.etree.c:82934)
  File "src/lxml/parser.pxi", line 1819, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:124533)
  File "src/lxml/parser.pxi", line 1707, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:123074)
  File "src/lxml/parser.pxi", line 1079, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:117114)
  File "src/lxml/parser.pxi", line 573, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:110510)
  File "src/lxml/parser.pxi", line 683, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:112276)
  File "src/lxml/parser.pxi", line 613, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:111124)
XMLSyntaxError: Extra content at the end of the document, line 5, column 13
2021-08-26 18:22:53,674 64535 WARNING odoo10 odoo.modules.loading: Transient module states were reset
2021-08-26 18:22:53,674 64535 ERROR odoo10 odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
  File "/home/viet/odoo-10.0/odoo/modules/registry.py", line 83, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)

解决方法

报错核心是lxml解析XML文件时检测到结构不合法,按以下优先级排查即可:

  • 检查base_data.xml文件完整性
    打开路径/home/viet/odoo-10.0/odoo/addons/base/base_data.xml,确认所有内容都包裹在唯一的<odoo>根标签内,重点检查日志提示的第5行第13列位置,确认没有多余字符、不闭合标签、乱码等异常,确保文件没有被人为篡改或下载损坏。如果文件内容异常,直接替换为Odoo10官方源码对应文件即可。
  • 校验文件编码格式
    确认该文件为UTF-8无BOM编码,Windows自带记事本编辑XML文件会默认插入BOM头,导致解析时检测到多余不可见字符,可使用VSCode、Notepad++等工具修改编码为UTF-8无BOM格式。
  • 排查lxml版本兼容性
    Odoo10适配的lxml最高版本为4.2.6,版本过高会出现解析规则不兼容问题。执行pip show lxml查看当前安装版本,如果超出适配范围,执行pip install lxml==4.2.6重装兼容版本后再重试操作。
  • 检查文件读取权限
    确认运行Odoo进程的系统用户对base_data.xml文件有可读权限,避免文件读取被截断导致的XML结构不完整报错。

内容的提问来源于stack exchange,提问作者Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:09:03