我可以在ElementTree XMLParser中禁用实体解析吗?

2024-10-04 11:29:06 发布

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

使用lxml,我可以:

from lxml import etree
parser = etree.XMLParser(resolve_entities=False)

我能用同样的方法吗xml.etree.ElementTreeXML解析器?在


Tags: 方法fromimportfalseparser解析器xmllxml
1条回答
网友
1楼 · 发布于 2024-10-04 11:29:06

快速看一下源代码,没有什么比resolve_entities=False简单的多。在

以下是the source of xml.etree.ElementTree.XMLParser的摘录:

parser.DefaultHandlerExpand = self._default
parser.StartElementHandler = self._start
parser.EndElementHandler = self._end
parser.CharacterDataHandler = self._data
# optional callbacks
parser.CommentHandler = self._comment
parser.ProcessingInstructionHandler = self._pi

没有配置其他pyexpat处理程序。在

现在,您对诸如&之类的著名XML实体感兴趣吗?似乎未定义的实体正在经历XMLParser._default,因此您可以通过扩展该方法获得一些东西。在

但是你想用这个来达到什么目的呢?如果这只是添加新实体,请尝试更新XMLParser.entitydict

相关问题 更多 >