python xml解析dom_如何解析python中表示xml.dom.minidom节点的字符串?
我有一個使用xml.dom.minidom創建的nodes xml.dom.Node對象的集合。通過使用Node對象的toxml()方法將它們轉換為字符串,我將它們(單獨)存儲在數據庫中。
問題是,有時我希望能夠使用某種解析器將它們轉換回適當的節點對象。據我所見,python附帶的各種庫都使用Expat,它不會解析像“”這樣的字符串,也不會解析任何不正確的xml字符串。
那么,有人有什么想法嗎?我意識到我可以以某種方式對節點進行pickle,然后將它們取消pickle,但這感覺很不愉快,我寧愿以一種可以閱讀的形式存儲,以便進行維護。肯定有什么東西能做到這一點?
對于表示這是可能的質疑,舉一個例子說明我的意思:>>> import xml.dom.minidom
>>> 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)
xml.parsers.expat.ExpatError: syntax error: line 1, column 0
換句話說,“.toxml()”方法不會創建Expat(因此是現成的parseString)將解析的內容。
我想要的是將u'foo解析為文本節點的東西。一、 一些可以逆轉.toxml()效果的東西
總結
以上是生活随笔為你收集整理的python xml解析dom_如何解析python中表示xml.dom.minidom节点的字符串?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python类包含对象的个数_pytho
- 下一篇: https nginx phpstudy