@file-type/xml

中文文档
1.2.0发布于 2026/10/06MITTypeScriptES Module近 30 天下载 87.8万

文件类型的 XML 检测插件

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 支持文件格式
  4. 许可证

NPM version Node.js CI npm downloads

@ 文件类型/ xml

探测器插件 文件类型 用于 XML 文件.

安装

npm install @file-type/xml

使用量

以下示例显示如何将 XML 检测器添加到 文件类型。 。 。 .

import {FileTypeParser} from 'file-type';
import {detectXml} from '@file-type/xml';

const parser = new FileTypeParser({customDetectors: [detectXml]});
const fileType = await parser.fromFile('example.kml');
console.log(fileType);

与 file-type 22,节点js 22或更新是需要的. 对流道检测,通过 a 网络 ReadableStream 改为 parser.fromStream()转换节点 Readable 与 Readable.toWeb()数字 :

import {createReadStream} from 'node:fs';
import {Readable} from 'node:stream';

const fileType = await parser.fromStream(Readable.toWeb(createReadStream('example.kml')));

探测器最多检查了16个KiB,包括任何字节顺序标记. 为了改变这个 限制,创建带有 sampleSize 以字节表示 :

import {FileTypeParser} from 'file-type';
import {createXmlDetector} from '@file-type/xml';

const parser = new FileTypeParser({
    customDetectors: [createXmlDetector({sampleSize: 64 * 1024})]
});

限制既适用于Prolog检测,也适用于XML解析. 如果没有 XML 签名,则 在样本中找到, 检测器返回 undefined 而不消耗投入. 如果XML得到承认,但其具体格式无法在样本中确定, 它会返回 application/xml。 。 。 . sampleSize 必须是正的安全整数. 这个 file-type 流采样选项是分开的; 当使用时 fileTypeStream设置 联合国 sampleSize 如果你想要一个更大的样本.

您也可以使用外部的 XML 探测器 文件类型数字 :

import {XmlTextDetector} from '@file-type/xml';

const xmlTextDetector = new XmlTextDetector();
xmlTextDetector.write('<svg xmlns="http://www.w3.org/2000/svg"><path fill="#00CD9F"/></svg>');
const fileType = xmlTextDetector.fileType;
console.log(JSON.stringify(fileType)); // Outputs: {"ext":"svg","mime":"image/svg+xml"}

支持文件格式

许可证

本项目根据以下规定获得许可证: MIT 许可证. 随意使用、修改和按需要分发.

版本与发布记录

@file-type/xml 共发布 15 个版本,首次发布于 2024/12/18;过去 12 个月发布了 5 个版本。

版本发布日期距今
1.2.0latest2026/10/061 个月前
1.1.12026/05/046 个月前
1.1.02026/02/158 个月前
1.0.02026/02/148 个月前
0.5.02026/02/149 个月前
0.4.42025/09/011.2 年前

关于 @file-type/xml 的常见问题

@file-type/xml 是什么?

文件类型的 XML 检测插件

如何安装 @file-type/xml?

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

@file-type/xml 支持 TypeScript 吗?

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

@file-type/xml 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@file-type/xml 可以商用吗?

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

@file-type/xml 的下载量有多少?

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

@file-type/xml 还在维护吗?

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