deepak_shaw
4 years agoContributor
CSV to XML with repetitive xml nodes
Hi,
I’m trying to create a pipeline which suppose to create an xml file out of a CSV file.
CSV file looks like -
|ProductCode|ProductName|Price|Country|
|A001|DellLaptop|$400|US|
|A001|Dell...
- 4 years ago
Just a small change in your Mapper needed:
That will output JSON like:
[{ "Invoice": { "@xmlns:cac": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2", "@xmlns:cbc": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2", "@xmlns": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2", "cbc:CustomizationID": "urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:billing:international:aunz:3.0", "cbc:ProfileID": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0", "cbc:ID": "PRP100418", "cbc:IssueDate": "29/04/2022", "cbc:DueDate": "6/05/2022", "cbc:InvoiceTypeCode": "380", "cbc:Note": "110535 - DAF - XRef607 ICT Services - CRM Developer", "cbc:DocumentCurrencyCode": "AUD", "InvoiceLines": [{ "LineNumber": "1", "Tax": "700" }, { "LineNumber": "2", "Tax": "700" }], "ABNValue": "ABN 31 100 103 268" } }]
which the XML Formatter will turn into:
<?xml version="1.0" encoding="UTF-8"?> <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"> <cbc:CustomizationID>urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:billing:international:aunz:3.0</cbc:CustomizationID> <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID> <cbc:ID>PRP100418</cbc:ID> <cbc:IssueDate>29/04/2022</cbc:IssueDate> <cbc:DueDate>6/05/2022</cbc:DueDate> <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode> <cbc:Note>110535 - DAF - XRef607 ICT Services - CRM Developer</cbc:Note> <cbc:DocumentCurrencyCode>AUD</cbc:DocumentCurrencyCode> <InvoiceLines> <LineNumber>1</LineNumber> <Tax>700</Tax> </InvoiceLines> <InvoiceLines> <LineNumber>2</LineNumber> <Tax>700</Tax> </InvoiceLines> <ABNValue>ABN 31 100 103 268</ABNValue> </Invoice>
which is what I believe you wanted.