![](/img/trans.png)
[英]Reading XML file using xml.dom.minidom or elementtree - Python
[英]XML reading using ElementTree
我有一個xml文件。
<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Salary</GroupName>
<EditId>undefined</EditId>
<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Salary</GroupName>
<EditId>undefined</EditId>
<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Trfr fm Savings</GroupName>
<EditId>undefined</EditId>
<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Dividend</GroupName>
<EditId>undefined</EditId>
<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Dividend</GroupName>
<EditId>undefined</EditId>
現在我想使用elementtree分別獲取所有項目,itemdate等。 有人可以幫助我嗎?
RGDS,
Nimmy
就像sje397在評論中寫道,如果可以選擇的話,應該對其進行重組。 要么全部放入item標簽:
<item>
<value>...</value>
<date>...</date>
...
</item>
或使用屬性:
<item value="..." date="..." ... />
這些在很大程度上是等效的(盡管屬性可以以任何順序出現,但是可以通過Schema / DTD將標簽強制為特定順序),但必須這樣做的例外,我認為這是一個問題。 當然,您可以將兩者混合使用,但這會使信息提取變得復雜(因為您將需要使用單獨的方法來獲取屬性與標簽)。 無論哪種方式,您都只會獲得一個item標簽,然后再獲取其所有[children | attributes]。
如果xml必須絕對保留這種方式,則您可能需要研究SAX解析器,該解析器固有地保留了標簽的順序。 但是,它需要基於事件的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.