import xml.etree.cElementTree as ET from tools.pyntrastat import Company, ContactPerson, Intrastat decl = ET.parse('17259191_A_20201.xml') root = decl.getroot() ns = ET.register_namespace('InsNewArrival', 'http://www.intrastat.ro/xml/InsSchema') person = ContactPerson('LEVENTE', 'MARTON', 'levente.marton@mzk.ro', '0730690044', '0264592211', 'CONTABIL') company = Company('0017259191', 'SC MOZAIK CONSULTING SRL', RefPeriod='2020-01', CreateDt='2020-02-12T15:17:11-08:00', ApplicationRef='4836218') company_dict = vars(company) person_dict = vars(person) versions = { 'CountryVer': '2007', 'EuCountryVer': '2007', 'CnVer': '2020', 'ModeOfTransportVer': '2005', 'DeliveryTermsVer': '2011', 'NatureOfTransactionAVer': '2010', 'NatureOfTransactionBVer':'2010', 'CountyVer': '1' } header = ( 'InsCodeVersions', 'InsDeclarationHeader' ) a_attribs = {'xmlns': 'http://www.intrastat.ro/xml/InsSchema', 'SchemaVersion': '1.0'} intrastat = Intrastat('17259191_A_20201.xml', company=company, person=person, versions=versions, header=header, elem_attribs=a_attribs) intrastat.make_arrival() intrastat.make_arrivals('intrastat.xls') intrastat.write_xml() # intrastat.write_xml() #------------------------------------------------------------------------------- # a = ET.Element('InsNewArrival', a_attribs) # b = ET.SubElement(a, header[0]) # c = ET.SubElement(a, header[1]) #------------------------------------------------------------------------------- # c=[] #------------------------------------------------------------------------------- # for tagname, value in versions.items(): # e = ET.SubElement(b, tagname) # e.text = value # for tagname, value in company_dict.items(): # e = ET.SubElement(c, tagname) # e.text = value # if tagname == 'ContactPerson': # for subtagname, subvalue in person_dict.items(): # se = ET.SubElement(e, subtagname) # se.text = subvalue #------------------------------------------------------------------------------- # print(c) # todecl = ET.ElementTree(a) # indent(todecl._root) # todecl.write('template.xml', encoding='UTF-8', # xml_declaration=True, default_namespace=ns, # method='xml') # EOF