1.2.2 • Published 14 days ago

simple-xml-to-json v1.2.2

Weekly downloads
62
License
MIT
Repository
github
Last release
14 days ago

A simple XML to JSON converter

npm version Test CI codecov

Install

Simply install using NPM in your project directory

npm install simple-xml-to-json

Usage and API

1. convertXML(xmlToConvert ,customConverter)

  • xmlToConvert \<string>
  • customConverter \<function>
  • Returns: \<JSON> by default or other if customConverter is used

2. createAST(xmlToConvert)

  • xmlToConvert \<string>
  • Returns: An AST representation of the XML \<JSON>

Code Example:

const {convertXML, createAST} = require("simple-xml-to-json")

const myJson = convertXML(myXMLString)
const myYaml = convertXML(myXMLString, yamlConverter)
const myAst = createAST(myXMLString)

TS Typescript compatible


Notes and how to use code

  1. The easiest thing to start is to run node example/example.js in your terminal and see what happens.
  2. There's the xmlToJson.js file for convenience. Just pass in the XML as a String.
  3. It's MIT licensed so you can do whatever :)
  4. Profit

How this works in a nutshell

  1. The library converts the XML to an AST
  2. There is a JSON converter that takes the AST and spits out a JSON
  3. You can write your own converters if you need XML-to-ANY-OTHER-FORMAT

Benchmark

Take these results with a grain of salt.\ According to a simple benchmark test I performed in April 2024 with a random XML. YMMV. Benchmark Chart

Current Drawbacks

  1. All values are translated to strings in JSON
  2. There are currently reserved words in the JSON converter:

    • "content"
    • "children"

    so you cannot by default have an attribute with that name and free text as the content of the element or have nested elements as children.

    If you need to, you can write your own converter from the AST created by the parser, and pass it as a 2nd parameter after the xml string

1.2.2

14 days ago

1.2.1

14 days ago

1.2.0

2 months ago

1.1.7

11 months ago

1.1.6

11 months ago

1.1.5

11 months ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.4

12 months ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.9

2 years ago

1.0.8

3 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago