Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

simple-xml-to-json

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-xml-to-json

Convert XML to JSON - Fast & Simple

  • 1.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
85K
increased by1.12%
Maintainers
1
Weekly downloads
 
Created
Source

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 2020 with a random XML. YMMV. Benchmark Chart

Current Drawbacks

  1. No support for XSD

  2. All values are translated to strings in JSON

  3. 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

Keywords

FAQs

Package last updated on 18 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc