Skip to content

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.

About

Swift CLI tool for converting any XML to JSON format

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •