1

I have a xml like this. I am not sharing full one but a snippet

<ALLINVENTORYENTRIES.LIST>
       <STOCKITEMNAME>Item1--1ltr</STOCKITEMNAME>
       <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
       <ISLASTDEEMEDPOSITIVE>No</ISLASTDEEMEDPOSITIVE>
       <ISAUTONEGATE>No</ISAUTONEGATE>
       <ISCUSTOMSCLEARANCE>No</ISCUSTOMSCLEARANCE>
       <ISTRACKCOMPONENT>No</ISTRACKCOMPONENT>
       <ISTRACKPRODUCTION>No</ISTRACKPRODUCTION>
       <ISPRIMARYITEM>No</ISPRIMARYITEM>
       <ISSCRAP>No</ISSCRAP>
       <RATE>1805.08/pc</RATE>
       <AMOUNT>36101.60</AMOUNT>
       <ACTUALQTY> 20 pc</ACTUALQTY>
       <BILLEDQTY> 20 pc</BILLEDQTY>
       <INCLVATRATE>2129.99/pc</INCLVATRATE>
       <BATCHALLOCATIONS.LIST>
        <MFDON>20220813</MFDON>
        <GODOWNNAME>Main Location</GODOWNNAME>
        <BATCHNAME>ABCDEF</BATCHNAME>
        <DESTINATIONGODOWNNAME>Main Location</DESTINATIONGODOWNNAME>
        <INDENTNO/>
        <ORDERNO/>
        <TRACKINGNUMBER/>
        <DYNAMICCSTISCLEARED>No</DYNAMICCSTISCLEARED>
        <AMOUNT>36101.60</AMOUNT>
        <ACTUALQTY> 20 pc</ACTUALQTY>
        <BILLEDQTY> 20 pc</BILLEDQTY>
        <INCLVATRATE>2129.99/pc</INCLVATRATE>
        <EXPIRYPERIOD JD="44785" P="31-Aug-24">31-Aug-24</EXPIRYPERIOD>
        <ADDITIONALDETAILS.LIST>        </ADDITIONALDETAILS.LIST>
        <VOUCHERCOMPONENTLIST.LIST>        </VOUCHERCOMPONENTLIST.LIST>
       </BATCHALLOCATIONS.LIST>
       <ACCOUNTINGALLOCATIONS.LIST>
        <OLDAUDITENTRYIDS.LIST TYPE="Number">
         <OLDAUDITENTRYIDS>-1</OLDAUDITENTRYIDS>
        </OLDAUDITENTRYIDS.LIST>
        <LEDGERNAME>Sales</LEDGERNAME>
        <CLASSRATE>100.00000</CLASSRATE>
        <GSTCLASS/>
        <GSTOVRDNNATURE>Sales Taxable</GSTOVRDNNATURE>
        <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
        <LEDGERFROMITEM>No</LEDGERFROMITEM>
        <REMOVEZEROENTRIES>No</REMOVEZEROENTRIES>
        <ISPARTYLEDGER>No</ISPARTYLEDGER>
        <ISLASTDEEMEDPOSITIVE>No</ISLASTDEEMEDPOSITIVE>
        <ISCAPVATTAXALTERED>No</ISCAPVATTAXALTERED>
        <ISCAPVATNOTCLAIMED>No</ISCAPVATNOTCLAIMED>
        <AMOUNT>36101.60</AMOUNT>
        <SERVICETAXDETAILS.LIST>        </SERVICETAXDETAILS.LIST>
        <BANKALLOCATIONS.LIST>        </BANKALLOCATIONS.LIST>
        <BILLALLOCATIONS.LIST>        </BILLALLOCATIONS.LIST>
        <INTERESTCOLLECTION.LIST>        </INTERESTCOLLECTION.LIST>
        <OLDAUDITENTRIES.LIST>        </OLDAUDITENTRIES.LIST>
        <ACCOUNTAUDITENTRIES.LIST>        </ACCOUNTAUDITENTRIES.LIST>
        <AUDITENTRIES.LIST>        </AUDITENTRIES.LIST>
        <INPUTCRALLOCS.LIST>        </INPUTCRALLOCS.LIST>
        <DUTYHEADDETAILS.LIST>        </DUTYHEADDETAILS.LIST>
        <EXCISEDUTYHEADDETAILS.LIST>        </EXCISEDUTYHEADDETAILS.LIST>
        <RATEDETAILS.LIST>        </RATEDETAILS.LIST>
        <SUMMARYALLOCS.LIST>        </SUMMARYALLOCS.LIST>
        <STPYMTDETAILS.LIST>        </STPYMTDETAILS.LIST>
        <EXCISEPAYMENTALLOCATIONS.LIST>        </EXCISEPAYMENTALLOCATIONS.LIST>
        <TAXBILLALLOCATIONS.LIST>        </TAXBILLALLOCATIONS.LIST>
        <TAXOBJECTALLOCATIONS.LIST>        </TAXOBJECTALLOCATIONS.LIST>
        <TDSEXPENSEALLOCATIONS.LIST>        </TDSEXPENSEALLOCATIONS.LIST>
        <VATSTATUTORYDETAILS.LIST>        </VATSTATUTORYDETAILS.LIST>
        <COSTTRACKALLOCATIONS.LIST>        </COSTTRACKALLOCATIONS.LIST>
        <REFVOUCHERDETAILS.LIST>        </REFVOUCHERDETAILS.LIST>
        <INVOICEWISEDETAILS.LIST>        </INVOICEWISEDETAILS.LIST>
        <VATITCDETAILS.LIST>        </VATITCDETAILS.LIST>
        <ADVANCETAXDETAILS.LIST>        </ADVANCETAXDETAILS.LIST>
       </ACCOUNTINGALLOCATIONS.LIST>
       <DUTYHEADDETAILS.LIST>       </DUTYHEADDETAILS.LIST>
       <SUPPLEMENTARYDUTYHEADDETAILS.LIST>       </SUPPLEMENTARYDUTYHEADDETAILS.LIST>
       <TAXOBJECTALLOCATIONS.LIST>       </TAXOBJECTALLOCATIONS.LIST>
       <REFVOUCHERDETAILS.LIST>       </REFVOUCHERDETAILS.LIST>
       <EXCISEALLOCATIONS.LIST>       </EXCISEALLOCATIONS.LIST>
       <EXPENSEALLOCATIONS.LIST>       </EXPENSEALLOCATIONS.LIST>
       <UDF:FSITEMPESTUDF.LIST DESC="`FSItempestUDF`" ISLIST="YES" TYPE="String" INDEX="1006">
        <UDF:FSITEMPESTUDF DESC="`FSItempestUDF`">-</UDF:FSITEMPESTUDF>
       </UDF:FSITEMPESTUDF.LIST>
       <UDF:FSITEMIN_UDF.LIST DESC="`FSitemIn_UDF`" ISLIST="YES" TYPE="String" INDEX="1012">
        <UDF:FSITEMIN_UDF DESC="`FSitemIn_UDF`">-</UDF:FSITEMIN_UDF>
       </UDF:FSITEMIN_UDF.LIST>
       <UDF:SOLDFORWHICHCROP.LIST DESC="`SoldForWhichCrop`" ISLIST="YES" TYPE="String" INDEX="8897">
        <UDF:SOLDFORWHICHCROP DESC="`SoldForWhichCrop`">-</UDF:SOLDFORWHICHCROP>
       </UDF:SOLDFORWHICHCROP.LIST>
      </ALLINVENTORYENTRIES.LIST>

I want to set the value of RATE to new value

I tried below code

import xml.etree.ElementTree as ET

tree = ET.parse(r'Book1.xml')
root = tree.getroot()

for i in root[1][0][1][0][0]:
    #print(i.tag)
    if i.tag == "ALLINVENTORYENTRIES.LIST":
        for elem in i:
            #print(elem.tag)
            rpt_side = i.find('RATE')
            print(rpt_side.text)
            rpt_side.set(rpt_side.tag, "2000")
            #print(a)
            print(rpt_side.text)
            #print(elem)

It is adding new value as

<RATE RATE="2000">1805.08/pc</RATE>

I want value same as it is in my xml

1 Answer 1

1

The set() method in ElementTree sets the attribute value of an attribute of an element to a particular value. If the attribute doesn't exist - the method creates it.

So

rpt_side.set(rpt_side.tag, "2000")

creates an attribute with a name equal to the name of the element in question (rpt_side.tag) (that is RATE) and assigns to it 2000 as the attribute value.

What you are probably looking for is something like:

rpt_side.text="2000"

which should leave the element intact, except for the new text value.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.