使用lxml我可以:
from lxml import etree
parser = etree.XMLParser(resolve_entities=False)
我可以使用xml.etree.ElementTree XMLParser吗?
答案 0 :(得分:2)
快速查看源代码并不像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.entity
词典。