Support Questions
Find answers, ask questions, and share your expertise

How to Convert XML file into CSV file using NIFI

i have XML files about 1-2 GB i want it to convert into CSV format using apache nifi.

so that i can process CSV for joining the two csv.

22 REPLIES 22

Guru

Hi @Nitin Damle

I'm assuming you got the flow working with the sample data and template I provided.

Can you provide an example of the desired csv output you are hoping to achieve from the cm_samples.xml file you provided? That would help me understand your end goal for the flow.

Thanks!

xmlsampleop.png


@Andrew Lim you can refercm_sample.txt


this image and file


Guru

Thanks for the information Nitin.

It seems like it would make sense to "clean up" your incoming XML using the TransformXML processor (https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.6.0/org.apache...) prior to ConvertRecord since there is data there like the header info that you don't care about for the CSV file. Additionally, could change the tag from `p` to its `name` attribute.

I haven't used the TransformXML processor before (or worked with XSLT files before). Take a look yourself and see if you think it could be a solution for you. I will try it out myself if I get the opportunity.

Hi Andrew,

I am not able to convert xml to csv as suggested by you to do the inverse of this. Could you please provide the nifi xml file so that I can upload the template and check.


Guru

Hi Andrew , this works for single xml but I have nested xml. How to convert nested xml to multiple csvs ?

@Andrew Lim Is there anything possible for nested xml to multiple csvs ?Attached is the nested xml file ad.xml

@Andrew Lim After importing it giving me this error

106511-csvtoxmlerror.png

You can use this NIFI Groovy processor that converts XML to CSV or AVRO

https://github.com/maxbback/nifi-xml