簡體   English   中英

如何解析這個有兩個根元素的 xml 文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM