Dear all,
Good day.
I am building an xml file using lxml on Odoo12.
On the final result, I get all data on the same lines, like:
<AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.01_01"><Header xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.01_01"><AuditFileVersion>1.01_01</AuditFileVersion><CompanyID>REG102.2548</CompanyID><TaxRegistrationNumber>1234567890</TaxRegistrationNumber><TaxAccountingBasis>F</TaxAccountingBasis><CompanyName>My Company</CompanyName><BusinessName> </BusinessName><CompanyAddress><BuildingNumber> </BuildingNumber><StreetName>Endreço da empresa</StreetName><City>Setubal</City><PostalCode> </PostalCode><Country>PT</Country></CompanyAddress>
<FiscalYear>2019</FiscalYear><StartDate>2019-10-20</StartDate><EndDate>2019-10-20</EndDate><CurrencyCode>PT</CurrencyCode><DateCreated>2019-10-20</DateCreated><TaxEntity>Global</TaxEntity><ProductCompanyTaxID>507477758</ProductCompanyTaxID><SoftwareValidationNumber>0</SoftwareValidationNumber><ProductID>Odoo</ProductID><ProductVersion>12</ProductVersion><HeaderComment>Odoo - OpenSource #1</HeaderComment><Telephone> </Telephone><Fax> </Fax><Email>info@yourcompany.com</Email><Website>http://www.yourcompany.com</Website></Header>
</AuditFile>
How can I get the results on a more clear and readable format with an element per line, like:
<AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.01_01">
<Header xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.01_01">
<AuditFileVersion>1.01_01</AuditFileVersion>
<CompanyID>REG102.2548</CompanyID>
<TaxRegistrationNumber>1234567890</TaxRegistrationNumber>
<BusinessName> </BusinessName>
<CompanyAddress>
<BuildingNumber> </BuildingNumber>
<PostalCode> </PostalCode>
<Country>PT</Country>
</CompanyAddress>
<FiscalYear>2019</FiscalYear>
<TaxEntity>Global</TaxEntity>
<ProductCompanyTaxID>507477758</ProductCompanyTaxID>
<SoftwareValidationNumber>0</SoftwareValidationNumber>
<ProductID>Odoo</ProductID>
</Header>
</AuditFile>
The code I am using for writing the xml is something like:
#For the root and header element
root = et.Element("AuditFile", attrib = attrib)
header = et.SubElement(root, 'Header', xmlns=self.xmlns)
header.tail = '\n'
#For the SubElement AuditFileVersion
et.SubElement(header, 'AuditFileVersion').text='1.01_01'
#HEADER
header_block = (
('CompanyID', CompanyID),
('TaxRegistrationNumber', TaxRegistrationNumber),
('TaxAccountingBasis', TaxAccountingBasis),
('CompanyName', CompanyName),
('BusinessName', BusinessName),
)
for tag, value in header_block:
if value is None :
continue
et.SubElement(header, tag).text= value
#Header | CompanyAddress
headerCompanyAddress = et.SubElement(header, 'CompanyAddress')
headerCompanyAddress.tail = '\n'
header_block = (
('BuildingNumber', BuildingNumber),
('StreetName', StreetName),
('AddressDetail', AddressDetail),
('City', City),
('PostalCode', PostalCode),
('Province', Province),
('Country', 'AO'),
)
for tag, value in header_block:
if value is None :
continue
et.SubElement(headerCompanyAddress, tag).text= value
...and so on!
Thank you all in advance
Best regards
PM
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Boekhouding
- Voorraad
- PoS
- Project
- MRP
Deze vraag is gerapporteerd
3347
Weergaven
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!
Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!
AanmeldenGerelateerde posts | Antwoorden | Weergaven | Activiteit | |
---|---|---|---|---|
|
2
mei 25
|
7854 | ||
|
2
dec. 19
|
5063 | ||
|
1
jul. 19
|
6354 | ||
|
0
okt. 18
|
4073 | ||
|
1
sep. 22
|
7529 |