使用xml.etree.ElementTree解析XML 1.1控制字符

问题描述 投票:0回答:1

在Python中,我正在解析包含控制字符的XML:

import xml.etree.ElementTree as ET

tree = ET.fromstring('<?xml version="1.1" encoding="UTF-8"?><field>foo &#11; bar</field>')
print(tree.text)

控制字符在XML 1.1中是允许的,但是解析失败。我缺少什么,还是xml.etree.ElementTree不支持这样的控制字符?

python xml character-encoding elementtree
1个回答
0
投票

至少在Linux上,ElementTree解析器使用系统的expat解析器。 libexpat维护者do not plan to support XML 1.1。

lxml程序包提供了与ElementTree类似的API,它使用libxml2来解析XML。 libxml2维护者also do not plan to implement XML 1.1(此参考文献很旧,但libxml2 homepage仅参考1.0标准。

您需要找到

  1. 实际上实现XML 1.1的解析器
  2. 解析器的Python绑定。
© www.soinside.com 2019 - 2024. All rights reserved.