pythonxml解析dom_如何解析python中表⽰xml.dom.minidom
节点。。。
我有⼀个使⽤xml.dom.minidom创建的nodes xml.dom.Node对象的集合。通过使⽤Node对象的toxml()⽅法将它们转换为字符串,我将它们(单独)存储在数据库中。
问题是,有时我希望能够使⽤某种解析器将它们转换回适当的节点对象。据我所见,python附带的各种库都使⽤Expat,它不会解析
像“”这样的字符串,也不会解析任何不正确的xml字符串。
python怎么读的
那么,有⼈有什么想法吗?我意识到我可以以某种⽅式对节点进⾏pickle,然后将它们取消pickle,但这感觉很不愉快,我宁愿以⼀种可以阅读的形式存储,以便进⾏维护。肯定有什么东西能做到这⼀点?
对于表⽰这是可能的质疑,举⼀个例⼦说明我的意思:>>> import xml.dom.minidom
thing')
>>> x=xml.dom.minidom.parseString('foothing
>>> x.documentElement.childNodes[0]
>>> x.documentElement.childNodes[0].toxml()
u'foo'
>>> xml.dom.minidom.parseString(x.documentElement.childNodes[0].toxml())
Traceback (most recent call last):
File "", line 1, in
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/dom/minidom.py", line 1928, in parseString
return expatbuilder.parseString(string)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/dom/expatbuilder.py", line 940, in parseString
return builder.parseString(string)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/dom/expatbuilder.py", line 223, in parseString
parser.Parse(string, True)
pat.ExpatError: syntax error: line 1, column 0
换句话说,“.toxml()”⽅法不会创建Expat(因此是现成的parseString)将解析的内容。
我想要的是将u'foo解析为⽂本节点的东西。⼀、 ⼀些可以逆转.toxml()效果的东西

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。