Categorygithub.com/onozaty/xml2csv
modulepackage
1.1.0
Repository: https://github.com/onozaty/xml2csv.git
Documentation: pkg.go.dev

# README

xml2csv

GitHub license Test codecov

xml2csv converts XML to CSV.
You can easily define mappings for converts using XPath.

Usage

$ xml2csv -i input.xml -m mapping.json -o output.csv

The arguments are as follows.

Usage: xml2csv [flags]

Flags
  -i, --input string     XML input file path or directory or url
  -m, --mapping string   XML to CSV mapping file path or url
  -o, --output string    CSV output file path
  -b, --bom              CSV with BOM
  -h, --help             Help

XML and mapping files can be specified by URL.

xml2csv -i https://github.com/onozaty/xml2csv/raw/master/testdata/rss.xml -m https://github.com/onozaty/xml2csv/raw/master/mapping/rss.json -o output.csv

Mapping

The conversion mapping definition is written in JSON.
Specify the position on the XML with XPath.

{
    "rowsPath": "//item",
    "columns": [
        {
            "header": "title",
            "valuePath": "/title"
        },
        {
            "header": "link",
            "valuePath": "/link"
        },
        {
            "header": "description",
            "valuePath": "/description"
        }
    ]
}
  • rowsPath : XPath to get as a rows.
  • columns : Definition of each column.
    • header : CSV header.
    • valuePath : XPath to get as a value.
    • useEvaluate : Specify true when using an expression with valuePath. For example, when using sum() or not(), boolean().

antchfx/xpath is used in xml2csv.
See below for supported XPath.

Please refer to the sample below.

Install

You can download the binary from the following.

License

MIT

Author

onozaty

# Constants

No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author

# Structs

Column カラムの定義.
Mapping マッピング情報.