首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python支持解析未知的ElementTree实体吗?

Python支持解析未知的ElementTree实体吗?
EN

Stack Overflow用户
提问于 2011-08-30 08:17:39
回答 2查看 23.1K关注 0票数 21

我有一组超级简单的XML文件要解析...但是..。它们使用自定义的实体。我不需要将这些映射到字符,但我确实希望对每个字符进行解析和操作。例如:

代码语言:javascript
复制
<Style name="admin-5678">
    <Rule>
      <Filter>[admin_level]='5'</Filter>
      &maxscale_zoom11;
    </Rule>
</Style>

http://effbot.org/elementtree/elementtree-xmlparser.htm上有一个诱人的暗示,XMLParser的实体支持有限,但我找不到提到的方法,所有的方法都会出错:

代码语言:javascript
复制
    #!/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

这取决于您调整注释的方式:

代码语言:javascript
复制
xml.etree.ElementTree.ParseError: undefined entity: line 1, column 5

代码语言:javascript
复制
AttributeError: 'ElementTree' object has no attribute 'entity'

代码语言:javascript
复制
AttributeError: 'str' object has no attribute 'feed'           

对于那些好奇的人来说,XML来自于OpenStreetMap的mapnik项目。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7237466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档