有人对如何使用lxml.objectify
with有任何提示recover=True
吗?
我有没有引用属性的 xml --> name=value 而不是 name='value'。
下面是一些示例代码...我无法控制 XML 格式,所以我无法返回并更改它。解析etree
确实有效
错误是
File "<string>", line unknown
XMLSyntaxError: AttValue: " or ' expected, line 4, column 21
lxml.objectify
代码——失败
xmlSample="""<dict>
<maptable>
<hdterm displevel=1 autlookup entrytype=1>Source term</hdterm>
</maptable>
</dict>"""
如果我没有得到答案,我是否必须重新
import io
#p = objectify.XMLParser(recover=True)
root = objectify.fromstring(xmlSample)
# returns attributes in element node as dict
attrib = root.getattrib()
# how to extract element data
tbl = root.mytable
print("root.mytable type=%s" % type(tbl))
lxml.etree
- 工作!
from lxml import etree, objectify
import io
xmlIO = io.StringIO(xmlSample)
p = etree.XMLParser(recover=True)
tree = etree.parse(xmlIO, parser=p)
root = tree.getroot()
print(root.tag)
输出:
myxml