Уверен, это должен быть принятый ответ.
я есть набор очень простых XML-файлов для анализа ... но ... они используют определенные пользователем объекты. Мне не нужно сопоставлять их с персонажами, но я хочу разобрать и действовать на каждого из них. Например:
<Style name="admin-5678">
<Rule>
<Filter>[admin_level]='5'</Filter>
&maxscale_zoom11;
</Rule>
</Style>
Есть дразнящий намек наhttp://effbot.org/elementtree/elementtree-xmlparser.htm этот XMLParser имеет ограниченную поддержку сущностей, но я не могу найти упомянутые методы, все выдает ошибки:
#!/usr/bin/python
##
## Where's the entity support as documented at:
## http://effbot.org/elementtree/elementtree-xmlparser.htm
## In Python 2.7.1+ ?
##
from pprint import pprint
from xml.etree import ElementTree
from cStringIO import StringIO
parser = ElementTree.ElementTree()
#parser.entity["maxscale_zoom11"] = unichr(160)
testf = StringIO('<foo>&maxscale_zoom11;</foo>')
tree = parser.parse(testf)
#tree = parser.parse(testf,"XMLParser")
for node in tree.iter('foo'):
print node.text
Который в зависимости от того, как вы корректируете комментарии, дает:
xml.etree.ElementTree.ParseError: undefined entity: line 1, column 5
или же
AttributeError: 'ElementTree' object has no attribute 'entity'
или же
AttributeError: 'str' object has no attribute 'feed'
Для тех, кому интересно, XML изOpenStreetMapКартографический проект.