4

使用 lxml 我可以:

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

我可以对 xml.etree.ElementTree XMLParser 做同样的事情吗?

4

1 回答 1

2

快速浏览一下源代码会发现没有什么比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字典。

于 2012-11-24T14:56:57.843 回答