dolmx
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

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.

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

License

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.1.0
    0
    • latest

Version History

Package Sidebar

Install

npm i dolmx

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

12.6 kB

Total Files

8

Last publish

Collaborators

  • echosoar