The Wayback Machine - https://web.archive.org/web/20230227010840/https://github.com/lite-js/xml
Skip to content

lite-js/xml

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
doc
 
 
lib
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

xml

npm version Build Status Coverage Status

Maintaining XML in pure javascript (IN BOTH NODE.JS & BROWSERS) Homepage

Maintaining?

Converting

converting

Editing/Traversing

XMLLite.findChildNode(doc, query);
XMLLite.findChildNodes(doc, query);
XMLLite.findOrCreateChildNode(doc, query);
XMLLite.removeChildNode(doc, query);
XMLLite.eachChildNode(doc, query, callback);
// ...

Formatting

XMLLite.beautify(xml, indent);
XMLLite.uglify(xml, preserveComments);
XMLLite.sanitize(xml, reverse);
// ...

Actually, you can get the js object from XMLLite.xml2js(xml), do whatever you want, and convert it back to xml again with XMLLite.js2xml(obj).

Why?

  1. A reasonable need for usage in both Node.js and Browsers
  2. A more reasonable need to use native APIs(DOMParser/XMLSerializer) to speed up the maintaining process and keep the library thin

Why @lite-js/xml?

  1. It works exactly the same in both Node.js and Browsers
  2. The browser version is supper light-weight(dist/xml.js)
  3. Convenient APIs for converting between xml/js/json/DOM, and lots of helpers to maintain the data structures
  4. Super fast. it takes less than 30ms to convert an xml document with over 1,000 nodes into a js object

Install

$ npm install @lite-js/xml --save
$ npm install @lite-js/xml -g

Usage

In Node.js

const XML = require('@lite-js/xml');

Command line client

$ xml-lite --help

In browsers

<script src="$path/to/@lite-js/xml/dist/xml.js"> <!-- window.XML is available -->

In browsers with webpack

import XMLLite from '@lite-js/xml/indexBrowser';

Demo

API

JSON spec

Projects using @lite-js/xml

Contributing

known issues