Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/engali94/XMLJson
Swift CLI tool for converting any XML to JSON format
https://github.com/engali94/XMLJson
cli json json-parser swift xml xml-parsing xmlserializer
Last synced: 8 days ago
JSON representation
Swift CLI tool for converting any XML to JSON format
- Host: GitHub
- URL: https://github.com/engali94/XMLJson
- Owner: engali94
- License: mit
- Created: 2020-04-28T20:03:26.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-10-10T08:56:18.000Z (about 3 years ago)
- Last Synced: 2024-08-02T16:10:11.667Z (3 months ago)
- Topics: cli, json, json-parser, swift, xml, xml-parsing, xmlserializer
- Language: Swift
- Homepage:
- Size: 4.8 MB
- Stars: 49
- Watchers: 5
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# XMLJSON
A Swift command-line tool to easily convert XML format to JSON.![demo](https://github.com/engali94/XMLJson/blob/master/assets/xmljsonDemo.gif)
### Requirements
- Good Mood### Usage
```
$ xmljson -h
OVERVIEW: Convert XML Format to JSON Format.
USAGE: xmljson --dir [--files ...] [--output ] [--verbose] [--all]OPTIONS:
-d, --dir Absolute path to a directory containing the xml files.
-f, --files XML files to be parsed.
-o, --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```bash
$ 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.
```bash
$ xmljson -d ~/xml/files/dir --all
```if you would like to change the output directory pass it to `--output` .
```bash
$ xmljson -d ~/xml/files/dir -o ~/path/to/output/dir --all
```### Sample
XML Input
```xml
?xml version="1.0" encoding="UTF-8"?>
Everyday 1
Giada De Laurentiis
2005
30.00
Learning XML
Erik T. Ray
2003
39.95
```
JSON Output
```json
[
{
"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](https://brew.sh)
You can install xmljson using homebrew as follows:```bash
$ brew tap engali94/formulae
$ brew install xmljson
```
### Installation using [Make](https://en.wikipedia.org/wiki/Make_%28software%29)
You can install xmljson using make as follows:```bash
$ 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:```bash
swift run XMLJson --help
```### License
XMLJson is released under the MIT license. See [LICENSE](https://github.com/engali94/XMLJson/blob/master/LICENSE) for more information.