python xml.dom.minidom.parse 和带有西里尔字母的 utf-8 xml 文件

标签 python xml utf-8

对不起我的英语:)

我在解析内容为西里尔文字的 utf-8 xml 文件时遇到问题

xml 中的一些行:

............

<programme start="20110405022000 +0300"
stop="20110405031000 +0300" channel="4000"> <title
lang="bul">Модерно</title> <sub-title
lang="bul"></sub-title> <desc
lang="bul">Тоук шоу. Модерно е токшоу
с водещ и продуцент Радост Драганова.
Предаването разисква всички теми,
които интересуват жените, като им
помага да изглеждат по-добре и да се
чувстват по-добре</desc> <category
lang="bul">0</category> </programme>
<programme start="20110405031000 +0300"
stop="20110405050000 +0300" channel="4000"> <title
lang="bul">Клонинг</title> <sub-title
lang="bul"></sub-title> <desc
lang="bul">Еп. 89 и 90, сериал.
Любовта между Хаде и Лукас се ражда в
Мароко, където двамата се запознават.
Но мюсюлманските обичаи разделят
влюбените. Хаде е родена и израснала в
САЩ, но след смъртта на майка си
заминава за Мароко при чичо си
Али</desc> <category
lang="bul">0</category> </programme>

............

我使用 DOMTree = xml.dom.minidom.parse("text.xml") 并收到错误:

Traceback (most recent call last):
  File "t3.py", line 9, in <module>
    DOMTree = parse(datasource)
  File "/usr/lib/python2.6/xml/dom/minidom.py", line 1918, in parse
    return expatbuilder.parse(file)
  File "/usr/lib/python2.6/xml/dom/expatbuilder.py", line 928, in parse
    result = builder.parseFile(file)
  File "/usr/lib/python2.6/xml/dom/expatbuilder.py", line 207, in parseFile
    parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 10, column 18

第 10 行第 18 列是第一个西里尔字母符号。 在 xml 文件中第一行是

<?xml version="1.0" encoding="utf-8"?>

有什么想法吗?

最佳答案

您的 xml 文件必须格式正确,即它必须只有一个根元素。尝试在输入文件的开头和结尾添加根标签。

关于python xml.dom.minidom.parse 和带有西里尔字母的 utf-8 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607095/

相关文章:

python - Pygame错误: Unsupported Image Format

c# - 在 VS2008 ASP.NET 项目中使用嵌入式文件

utf-8 - 中文字符在 strings.xml 中显示为空白框

utf-8 - Doctrine 正在将字符串转换为十六进制值

php - 小花 3.2。 - 将 UTF-8 字符发布到外部站点

python - 为什么 Python 调用 __str__ 而不是返回 long 值

Python:如果三件事中有一个以上为真,则返回假

python - Mosso Python 模块

android - 以编程方式将多个自定义 View 添加到布局

c# - 如何在 C# 中应用 XSLT 样式表