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
Diese Frage wurde gekennzeichnet
4691
Ansichten
Diskutieren Sie gerne? Treten Sie bei, statt nur zu lesen!
Erstellen Sie heute ein Konto, um exklusive Funktionen zu nutzen und mit unserer tollen Community zu interagieren!
Registrieren| Verknüpfte Beiträge | Antworten | Ansichten | Aktivität | |
|---|---|---|---|---|
|
|
2
Mai 25
|
9917 | ||
|
|
2
Dez. 19
|
6664 | ||
|
|
1
Juli 19
|
8244 | ||
|
|
0
Okt. 18
|
5576 | ||
|
|
1
Sept. 22
|
9426 |