Python 3.x lxml-xmlsyntaxerror:entity';ouml';未定义

Python 3.x lxml-xmlsyntaxerror:entity';ouml';未定义,python-3.x,xml-parsing,lxml,Python 3.x,Xml Parsing,Lxml,我使用lxml和python3.5解析xml文件 到目前为止,我的代码是: for event, element in etree.iterparse(source, tag="article"): for child in element: print (child.tag, child.text) element.clear() 执行时,我会在一段时间后收到以下消息: lxml.etree.XMLSyntaxError: Entity 'ouml' not

我使用lxml和python3.5解析xml文件

到目前为止,我的代码是:

for event, element in etree.iterparse(source, tag="article"):
    for child in element:
        print (child.tag, child.text)
    element.clear()
执行时,我会在一段时间后收到以下消息:

 lxml.etree.XMLSyntaxError: Entity 'ouml' not defined, line 47, column 25
我有一个定义了所有实体的DTD文件。如何包含文件或定义缺少的实体?

以下是我的解决方案: 我正在阅读DTD文件以进行验证,正如CoderBC建议的那样:

from lxml import etree
from lxml.etree import XMLSyntaxError
import sys
import os

source = sys.argv[1]
dtd = etree.DTD(file=sys.argv[2])#read DTD
count = 0
#iterate through nodes
for event, element in etree.iterparse(source, load_dtd=True):
   count += 1
   #print all children
   for child in element:
      print(child.tag, child.text)
element.clear()

print("Final Count :", count)

他们不确定这是否有效,但请尝试
etree.iterparse(source,tag=“article”,dtd\u load=True,dtd\u verification=True,resolve\u entities=True)
。如果不想解析实体,可以尝试
etree.iterparse(source,tag=“article”,resolve\u entities=False)