首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >&nbsp文本未被lxml处理

&nbsp文本未被lxml处理
EN

Stack Overflow用户
提问于 2015-07-03 15:59:28
回答 1查看 7K关注 0票数 8

我的html文件有以下行

代码语言:javascript
复制
<tr><td>$nbsp;</td><tr> 

但是,当我使用lxml进行解析时:

代码语言:javascript
复制
from lxml import tree as ET
tree = ET.parse("file.html")

我得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "lxml.etree.pyx", line 3310, in lxml.etree.parse (src/lxml/lxml.etree.c:72517)
File "parser.pxi", line 1791, in lxml.etree._parseDocument (src/lxml/lxml.etree.c:105979)
File "parser.pxi", line 1817, in lxml.etree._parseDocumentFromURL (src/lxml/lxml.etree.c:106278)
File "parser.pxi", line 1721, in lxml.etree._parseDocFromFile (src/lxml/lxml.etree.c:105277)
File "parser.pxi", line 1122, in lxml.etree._BaseParser._parseDocFromFile (src/lxml/lxml.etree.c:100227)
File "parser.pxi", line 580, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:94350)
File "parser.pxi", line 690, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:95786)
File "parser.pxi", line 620, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:94853)
lxml.etree.XMLSyntaxError: Entity 'nbsp' not defined, line 14, column 159
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-03 16:04:34

, for HTML. &nbsp;在XML中是合法的,但它可以用于&nbsp;。因此:

代码语言:javascript
复制
>>> lxml.html.fromstring('''<tr><td>&nbsp;</td><tr>''')
<Element div at 0x10a7a5e68>

正确的...works。

或者,您可以在文档中使用&nbsp;的XML等效值,即&#160;,也可以在XML文件中声明DOCTYPE并在其内容中包含<!ENTITY nbsp "&#160;">

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31210655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档