Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/echosoar/dolmx

A no dependence xml parser written in javaScript, only 1kb! Run in node or browser.史上最精简XML解析器,只有1KB,无任何依赖,可运行于Node.js或浏览器环境!
https://github.com/echosoar/dolmx

1kb fastxml javascript-library nodejs nodejs-xml nodependence parser xml xml-parser

Last synced: 8 days ago
JSON representation

A no dependence xml parser written in javaScript, only 1kb! Run in node or browser.史上最精简XML解析器,只有1KB,无任何依赖,可运行于Node.js或浏览器环境!

Awesome Lists containing this project

README

        

Dolmx is a **1kb** [XML] parser.

It's designed to be as minimal as possible, no devDependencies, run in browser or node.











## Features

- **Fast:** O(n)
- **Tiny:** It's 1kb.
- **Robust:** Written in Typescript, Passed a lot of unit tests.
- **Simple:** Pass a XML string, get back an javscript Object.

## Usage

```
npm i dolmx --save
```

Dolmx exports a single function, which parses a string of XML and returns a javscript Object. Couldn't be simpler.

```js
import dolmx from 'dolmx';

let xml = `



https://www.zhihu.com/billboard

FeedIamGy
feed.iam.gy
zh-cn
Thu Sep 13 2018 10:42:34 GMT+0800 (CST)
3000




Thu, 13 Sep 2018 02:42:32 GMT
https://www.zhihu.com/question/294345168
https://www.zhihu.com/question/294345168

`;

let obj = Dolmx(data);
console.log(JSON.stringify(obj, null, '\t'));
/*
{
"xml": {
"_attr": {
"version": "1.0",
"encoding": "UTF-8"
}
},
"rss": {
"channel": {
"title": {
"_value": "知乎热榜"
},
"link": {
"_value": "https://www.zhihu.com/billboard"
},
"description": {
"_value": "知乎热榜"
},
"generator": {
"_value": "FeedIamGy"
},
"webMaster": {
"_value": "feed.iam.gy"
},
"language": {
"_value": "zh-cn"
},
"lastBuildDate": {
"_value": "Thu Sep 13 2018 10:42:34 GMT+0800 (CST)"
},
"ttl": {
"_value": "3000"
},
"item": {
"title": {
"_value": "苹果公司 2018 年 9 月 12 日举办的秋季发布会有哪些亮点和槽点?"
},
"description": {
"_value": "在过去的 10 年里,iOS 一点点成长为了苹果最重要的现金牛"
},
"pubDate": {
"_value": "Thu, 13 Sep 2018 02:42:32 GMT"
},
"guid": {
"_value": "https://www.zhihu.com/question/294345168"
},
"link": {
"_value": "https://www.zhihu.com/question/294345168"
}
}
},
"_attr": {
"version": "2.0"
}
}
}
*/

```

## License

MIT