@borgar/simple-xml

中文文档
3.0.0发布于 2026/10/28MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 6.9万

一个合理的快速、简单和纯JS XML 解析器,没有依赖性

中文使用文档

简单的 XML 解析器

这是一个简单且不经过验证的XML 解析器。 它会不加区分地分析大多数半成型的XML文档,这些文档不会试图做任何过于聪明的事情.

此库的目的是便于解析和消耗 XML 文件 。 世界真的需要吗? 也许不是。 但作者测试的所有其他可用的包 要么是一个 质量 过度杀死或未能正确分析相当简单的 XML 。 我们到了.

有一些限制:

  • 评论被抛弃.
  • 处理指令被丢弃 .
  • 命名空间前缀保存在每个节点上;完整的 xmlns 验证是通过一个选项选择的.
  • 文档类型被丢弃 .
  • 不支持 Nested doctype , 并且会出错 .
  • 节点有浏览器DOM接口的子集.

但另一方面:

  • 由选取引擎所建.
  • 无依取相.

安装

寻常:

$ npm i @borgar/simple-xml

解析 XML

import { parseXML } from '@borgar/simple-xml';

const dom = parseXML('<root><node>Lorem ipsum</node></root>');
console.log(dom.querySelector('node').textContent);

剖析函数接受两个参数,第一个是XML源. 第二个是选项对象。 有三种选择:

允许通常禁止的未引用属性 laxAttr数字 :

parseXML('<root><node foo=bar /></root>', { laxAttr: true });

允许通常被禁止的“ 无根” 文档带有 emptyDoc数字 :

parseXML('', { emptyDoc: true });

校验 xmlns 声明及其内容/属性前缀 ns声明适用于其内容及其后人. 使用此旗帜, 在其声明范围之外使用前缀, 或误用 xml 或者说 xmlns 前缀,丢出一个 NamespaceError数字 :

parseXML('<root xmlns:x="urn:example"><x:node /></root>', { ns: true });

软件包除了分析方法外,还输出节点类(Node, (中文(简体) ), Element, (中文(简体) ), Document, (中文(简体) ), DocumentFragment, (中文(简体) ), TextNode, (中文(简体) ), CDataNode),序列化帮助者(prettyPrint, (中文(简体) ), simplePrint, (中文(简体) ), escapeXML页:1 isElement 类型守护,以及根植于 XMLError (单位:千美元)ParserError, (中文(简体) ), NamespaceError, (中文(简体) ), HierarchyError, (中文(简体) ), NotFoundError, (中文(简体) ), InUseAttributeError, (中文(简体) ), InvalidCharacterError) (中文(简体) ).

见API文档.

版本与发布记录

@borgar/simple-xml 共发布 12 个版本,首次发布于 2020/07/11;过去 12 个月发布了 6 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.0.0latest2026/10/2810 天前
3.0.0-rc.2next2026/05/245 个月前
3.0.0-rc.12026/04/067 个月前
3.0.0-rc.02026/03/307 个月前
2.2.22026/02/168 个月前
2.2.12026/01/089 个月前

关于 @borgar/simple-xml 的常见问题

@borgar/simple-xml 是什么?

一个合理的快速、简单和纯JS XML 解析器,没有依赖性

如何安装 @borgar/simple-xml?

在项目目录运行 npm install @borgar/simple-xml,或使用 pnpm add / yarn add / bun add。

@borgar/simple-xml 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@borgar/simple-xml 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@borgar/simple-xml 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@borgar/simple-xml 可以商用吗?

@borgar/simple-xml 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@borgar/simple-xml 的下载量有多少?

根据 npm 官方下载统计,@borgar/simple-xml 在 2026/10/09 – 2026/11/07 这 30 天内被下载 68,924 次,日均约 2,297 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@borgar/simple-xml 还在维护吗?

最新版本 3.0.0 发布于 2026/10/28(10 天前);至今共发布 12 个版本,其中过去 12 个月发布了 6 个;首次发布于 2020/07/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。