Skip to content

Swift CLI tool for converting any XML to JSON format

License

Notifications You must be signed in to change notification settings

engali94/XMLJson

Repository files navigation

XMLJSON

A Swift command-line tool to easily convert XML format to JSON.

SPM Twitter: @alihilal94

demo

Requirements

  • Good Mood

Usage

$ xmljson -h
OVERVIEW: Convert XML Format to JSON Format.
USAGE: xmljson --dir <dir> [--files <files> ...] [--output <output>] [--verbose] [--all]

OPTIONS:
  -d, --dir <dir>         Absolute path to a directory containing the xml files.
  -f, --files <files>     XML files to be parsed.
  -o, --output <output>   [Optinal] JSON file(s) output directory.
  -v, --verbose           Show extra logging for debugging purposes.
  -a, --all               Convert all XML files present in the specifed directory.
  -h, --help              Show help information.

First specify where the xml files are located through --dir argument (Manadatory) Then you can specify the files to be converted in through --files argument you can pass as much as you want

$ xmljson -d ~/xml/files/dir - file1.xml filen.xml --verbose

If you want to convert all the XML files present in the directory, pass the --dir argument and --all flag only.

$ xmljson -d ~/xml/files/dir  --all 

if you would like to change the output directory pass it to --output .

$ xmljson -d ~/xml/files/dir  -o ~/path/to/output/dir --all 

Sample

XML Input

?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday 1</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="web">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

JSON Output

[
  {
    "author" : "Giada De Laurentiis",
    "title" : {
      "lang" : "en",
      "text" : "Everyday 1"
    },
    "year" : "2005",
    "category" : "cooking",
    "price" : "30.00"
  },
  {
    "author" : "Erik T. Ray",
    "title" : {
      "lang" : "en",
      "text" : "Learning XML"
    },
    "year" : "2003",
    "category" : "web",
    "price" : "39.95"
  }
]

Installation using HomeBrew

You can install xmljson using homebrew as follows:

$ brew tap engali94/formulae
$ brew install xmljson

Installation using Make

You can install xmljson using make as follows:

$ git clone https://github.com/engali94/XMLJson.git
$ cd XMLJson
$ make install

Development

  • cd into the repository

  • run swift package generate-xcodeproj

  • Run the following command to try it out:

     swift run XMLJson --help

License

XMLJson is released under the MIT license. See LICENSE for more information.