csv-to-xml v2.0.0
csv-to-xml
csv-to-xml is an easy-to-use library that quickly converts any CSV data in a string or file to its equivalent XML representation.
Usage
CSV file
data.csv
Color,Maximum Speed,Age
red,120,2
blue,150,4;CSV to XML Conversion
index.js
import csvToXml from 'csv-to-xml';
import fs from 'fs/promises';
const csv = await fs.readFile('data.csv', {
encoding: 'utf-8',
});
const xml = csvToXml(csv, {
headerList: ['color', 'maxSpeed', 'age'],
});
console.log(xml);Output
<row>
<color>red</color>
<maxSpeed>120</maxSpeed>
<age>2</age>
</row>
<row>
<color>blue</color>
<maxSpeed>150</maxSpeed>
<age>4</age>
</row>API
csvToXml(csv: string, options: CSVToXMLOptions): string
Takes string containing CSV data and returns string containing equivalent XML data.
CSVToXMLOptions
eol: character to be treated as end of a line. If unspecified, EOL character will be auto-detected.Type:
string\ Default:undefinedseparator: character used to separate each CSV column.Type:
string\ Default:','rowName: name given to XML element wrapping column XML elements.Type:
string\ Default:'row'headerList: List of custom header names to use for the CSV.Type:
string[]\ Default:[]header: Whether the CSV data contains a header row or not.Type:
boolean\ Default:trueindentation: Number of spaces used to indent the XML output. A string like\tor' 'can also be passed.Type:
number | string\ Default:4quotes: If a column contains the separator character, you can use a quote charactor to wrap the column content, e.g., "Coding, Beauty" won't be split into two columns during parsing.Type:
single | double | all | none | RegExpsingle: use single quotesdouble: use double quotesall: use single and double quotesnone: ignore quotes - treat as part of CSVRegExp: custom regex pattern, e.g.,/[\(|\)]/for column enclosed with(and).
Default:
'none'