分析xml文档结果分析错误

2024-04-25 06:55:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个800 mb的巨大xml文件,这就是dblp数据集,但是当我运行代码时,我得到了以下结果错误:-在

我在我的代码:-在

1.Parse input file by lxml module
2.Get Title name from the User by raw_input()
3.Target article tag who title start with User input in step2.
4.Iterate every article tags from the step 3
5.Create List of list tuple which save all articles tag and its text information in th result.
6.Print result.

我的代码:-在

^{pr2}$

错误获得:在

Traceback (most recent call last):
  File "C:/Python27/xmp2.py", line 2, in <module>
    root = ET.parse('myxml.xml')
  File "lxml.etree.pyx", line 3301, in lxml.etree.parse (src\lxml\lxml.etree.c:72453)
  File "parser.pxi", line 1791, in lxml.etree._parseDocument (src\lxml\lxml.etree.c:105915)
  File "parser.pxi", line 1817, in lxml.etree._parseDocumentFromURL (src\lxml\lxml.etree.c:106214)
  File "parser.pxi", line 1721, in lxml.etree._parseDocFromFile (src\lxml\lxml.etree.c:105213)
  File "parser.pxi", line 1122, in lxml.etree._BaseParser._parseDocFromFile (src\lxml\lxml.etree.c:100163)
  File "parser.pxi", line 580, in lxml.etree._ParserContext._handleParseResultDoc (src\lxml\lxml.etree.c:94286)
  File "parser.pxi", line 690, in lxml.etree._handleParseResult (src\lxml\lxml.etree.c:95722)
  File "parser.pxi", line 620, in lxml.etree._raiseParseError (src\lxml\lxml.etree.c:94789)
XMLSyntaxError: Entity 'ouml' not defined, line 47, column 25

我的xml外观比如:在

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE dblp SYSTEM "dblp.dtd">
<dblp>
<article mdate="2011-01-11" key="journals/acta/Saxena96">
<author>Sanjeev Saxena</author>
<title>Parallel Integer Sorting and Simulation Amongst CRCW Models.</title>
<pages>607-619</pages>
<year>1996</year>
<volume>33</volume>
<journal>Acta Inf.</journal>
<number>7</number>
<url>db/journals/acta/acta33.html#Saxena96</url>
<ee>http://dx.doi.org/10.1007/BF03036466</ee>
</article>

请帮我解决我的问题! 提前谢谢。在


Tags: 代码insrcparserinputtitle错误line
2条回答

错误消息

实体“ouml”未定义,第47行,第25列

意味着在文档的这个位置,出现了实体引用&ouml;,但尚未找到其定义。(这可能是为了表示o-with-umlaut,但与HTML不同,这种实体名不是XML内置的,它们必须在DTD中定义)

当然,这可能不是大型源文档中唯一出现的这种实体引用。在

您的文档包含对DTD的引用数据库.dtd. 有两种可能:要么实体没有在DTD中定义,要么由于某种原因解析器没有提取它。我认为dplp是一个广为人知并被广泛使用的数据集(由技术上非常称职的人创建),所以我认为第一个解释不太可能,除非发生了一些不正确的预处理,破坏了数据。第二种可能性似乎更大。现在我无能为力了,因为我对您正在使用的Python解析器或其配置设置一无所知。在

问题可能来自参考文献”数据库.dtd". 在

“DTD的目的是定义XML文档的结构”,它可以定义一个像<!ENTITY ouml...>这样的实体

检查this以解决您的问题。在

相关问题 更多 >