[英]How to parse this xml file which have two root elements?
<objects>
<object>
<record>
<net_amount>3657.82</net_amount>
<order_number>47004603</order_number>
<invoice_source>Email</invoice_source>
<invoice_capture_date>2022-11-13</invoice_capture_date>
<document_type>INVOICE</document_type>
<data_capture_provider_code>00001</data_capture_provider_code>
<data_capture_provider_reference>594826</data_capture_provider_reference>
<document_capture_provide_code>00002</document_capture_provide_code>
<document_capture_provider_ref>594826</document_capture_provider_ref>
</record>
</object>
</objects>
我如何解析這個 xml 數據。 此數據有兩個“對象”元素。 當我刪除一個“對象”時,我能夠解析它。 但否則我無法解析它。
for file in files:
tree = ET.parse(file)
root = tree.getroot()
for i in root.findall("record"):
net_amount = i.find("net_amount").text
order_number = i.find("order_number").text
當我使用上面的代碼時,我想獲取 .net_amount" 和 "order_number"。但是當我從 xml 文件中刪除一個 object 時,它工作正常。但是我有這么多這樣的文件。有沒有什么方法可以讓它工作。 請幫我
您已經完成了困難的部分,您所要做的就是將您的代碼包裝在一個循環中,該循環將 go 通過object
標記。
for file in files:
tree = ET.parse(file)
root = tree.getroot() #This is the outer "objects" tags
for obj in root.findall("object"): #Loop over all object in it
for i in obj.findall("record"): #Resume the original search in the specific object tag rather than the outer one
net_amount = i.find("net_amount").text
order_number = i.find("order_number").text
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.