Python 3.x lxml-xmlsyntaxerror:entity';ouml';未定义
我使用lxml和python3.5解析xml文件 到目前为止,我的代码是: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
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)