05-12-2022 10:37 PM
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|DellLaptop|$500|AU|
|A001|DellLaptop|$550|EU|
XML output should be -
<?xml version="1.0" encoding="UTF-8"?> US $400 AU $500 EU $550 [XML file attached as its not coming well in the question well..] Thanks for your answer, Deepak Shaw [Product.zip|attachment](upload://7NZiA8X09vabLf1eK3iLKeLDU5f.zip) (203 Bytes)Solved! Go to Solution.
05-20-2022 02:39 PM
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.
05-19-2022 04:49 AM
Hi @robin,
I could able to follow your suggestions and created a sample pipeline (attached)
However, it creates xml output bit different
<?xml version='1.0' encoding='UTF-8'?>
<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: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>
<LineNumber>2</LineNumber>
<Tax>700</Tax>
<Tax>700</Tax>
</InvoiceLines>
<ABNValue>ABN 31 100 103 268</ABNValue>
</Invoice>
Can you please suggest the fix?
Csv2Xml_2022_05_19.slp (17.0 KB)
Thanks,
Deepak.
05-19-2022 07:05 AM
Sorry, a fix to what? I don’t understand what the issue is.
05-19-2022 04:04 PM
Hi @robin ,
I would like the child node should appear like :
05-20-2022 02:39 PM
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.
05-21-2022 08:21 PM
Hi @robin,
Thanks for your help… really appriciated.
Regards,
Deepak.