我有一個列表的列表爲這樣:元組的列表保存在XML
[[value A, Value B, Value C], [value D, value E, Value F]]
我有XML結構如下:
<root>
<data>
</data>
</root>
我想了解的最佳途徑將列表寫入XML。
我明白如何解析XML,如何獲取數據,以及如何將數據寫入XML,在我的具體情況下使用etree。我正在努力的是將這種數據類型存儲在XML中的概念性最佳做法。
我對這個問題的性質問題表示歉意,但我在這裏苦於基本面。
我已經嘗試將整個列表保存爲一個字符串,這樣可以很好地保存 - 但稍後處理會很麻煩。
更新:
使用@mkHun的一般方法,用@喬恩克萊門茨屬性的概念,我的目的了以下工作:
from lxml import etree
var = [["value A", "Value B", "Value C"], ["value D", "value E", "Value F"]]
for j in var:
root = etree.Element('root')
member = etree.SubElement(root, "member")
member.attrib['att1'] = j[0]
member.attrib['att2'] = j[1]
member.attrib['att3'] = j[2]
root.append(member)
out = etree.tostring(root, pretty_print=True)
print(out)
這種方法,減少迭代深度整合每個列表合併爲一個SubElement
,創建一個類似於以下內容的XML結構:
<root>
<member att1="Value A" att2="Value B" att3="Value C"/"
<member att1="Value D" att2="Value E" att3="Value F"/"
</root>
我不確定這是最好還是最有效的方式來存儲這些數據,但現在這是我嘗試過的最好的方法。
感謝
我可能將它們存儲的數據元素的屬性... –
@JonClements屬性是肯定,我需要去嘗試這個概念。謝謝您的幫助。 – theeastcoastwest