使用 lxml 我可以:
from lxml import etree
parser = etree.XMLParser(resolve_entities=False)
我可以对 xml.etree.ElementTree XMLParser 做同样的事情吗?
使用 lxml 我可以:
from lxml import etree
parser = etree.XMLParser(resolve_entities=False)
我可以对 xml.etree.ElementTree XMLParser 做同样的事情吗?
快速浏览一下源代码会发现没有什么比resolve_entities=False
.
这是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
字典。