csv-to-xml
v2.0.0
Published
Easily convert any CSV string to XML data in Node.js and the browser.
Downloads
321
Readme
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:undefined
separator
: 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:true
indentation
: Number of spaces used to indent the XML output. A string like\t
or' '
can also be passed.Type:
number | string
Default:4
quotes
: 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 | RegExp
single
: 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'