我想以一種可以回讀的方式將一些數據序列化到xml。我正在通過xml.dom.minidom手動構建DOM並使用包含的writexml方法將其寫入文件來完成此操作。如何確保xml.dom.minidom可以解析自己的輸出?
特別感興趣的是我如何構建文本節點。我通過初始化一個Text對象然後設置它的數據屬性來做到這一點。我不確定爲什麼Text對象不在構造函數中使用它的內容,但這只是它在xml.dom.minidom中的簡單方式。
舉一個具體的例子,代碼看起來是這樣的:
import xml.dom.minidom as dom
e = dom.Element('node')
t = dom.Text()
t.data = "The text content"
e.appendChild(t)
dom.parseString(e.toxml())
這似乎合理的,我,特別是因爲一個createTextNode本身實現完全一樣:
def createTextNode(self, data):
if not isinstance(data, StringTypes):
raise TypeError, "node contents must be a string"
t = Text()
t.data = data
t.ownerDocument = self
return t
的問題是設置這樣的數據使我們能夠編寫以後無法解析的文本。舉一個例子,我有困難具有以下性質:
you´ll
的報價爲ORD(180), '\ XB4'。我的問題是,將這些數據編碼到xml文檔中的正確過程是什麼?我用minidom解析文檔來恢復原始樹?