如何在Node.js中使用XPath和ESM解析XML文件

syqv5f0l  于 2022-09-21  发布在  Node.js
关注(0)|答案(1)|浏览(150)

我正在处理一项工作任务,该任务涉及使用一个XML文件,并且需要使用.mjs文件通过XPath解析该文件。我通常不使用.mjs文件编写代码,我通常使用的数据是JSON。这是一个我们正在从C#转换到Node的遗留应用程序,我们需要能够解析XML文件。要求如下:

必须使用.mjs扩展模块必须在Node.js中运行,因此它不应该依赖于任何特定于浏览器的JavaScript功能模块的默认导出应该是一个异步函数,它可以爬行目录树并解析它找到的XML文件

我甚至不知从何说起。任何帮助我指明正确方向的帮助都将是非常有帮助的。提前谢谢您。

sczxawaw

sczxawaw1#

给出一个在ESM模块中使用带有SaxonJS的XPath 3.1的非常简单的示例:

import { default as SaxonJS } from 'saxon-js';

const xml = `<root>
  <item>a</item>
  <item>b</item>
  <item>c</item>
</root>`;

const xmlDoc = await SaxonJS.getResource({ type: 'xml', text: xml });

console.log(SaxonJS.XPath.evaluate(`random-number-generator(current-dateTime())?permute(/root/item) => serialize(map { 'method' : 'xml', 'indent' : true() })`, xmlDoc));

文档位于https://www.saxonica.com/saxon-js/documentation2/index.html

相关问题