📜  如何读取 xml2js 中的 xml 元素 - Javascript (1)

📅  最后修改于: 2023-12-03 15:24:55.467000             🧑  作者: Mango

如何读取 xml2js 中的 xml 元素 - Javascript

处理 XML 文件是 Web 开发过程中非常常见的操作。在 Javascript 中,我们可以使用 xml2js 库来将 xml 文件转换为 Javascript 对象,然后方便地操作其中的元素。

下面我们介绍如何使用 xml2js 读取 xml 中的元素。

安装 xml2js

在开始之前,我们需要先安装 xml2js 库。

使用 npm:

npm install xml2js

或者使用 yarn:

yarn add xml2js
读取 xml

使用 xml2js,我们可以将 xml 文件转换为 Javascript 对象。下面是一个示例 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<books>
  <book>
    <title>JavaScript权威指南</title>
    <author>Flanagan</author>
    <price>99.00</price>
  </book>
  <book>
    <title>高性能JavaScript</title>
    <author>扎克斯</author>
    <price>79.00</price>
  </book>
  <book>
    <title>JavaScript设计模式</title>
    <author>Stoyan Stefanov</author>
    <price>49.00</price>
  </book>
</books>

我们可以通过以下代码将其转换为 Javascript 对象:

const xml2js = require('xml2js');
const fs = require('fs');

const xml = fs.readFileSync('books.xml', 'utf-8');

xml2js.parseString(xml, (err, result) => {
  console.log(result);
});

运行以上代码,我们可以得到以下输出结果:

{
  books: {
    book: [
      { title: [ 'JavaScript权威指南' ], author: [ 'Flanagan' ], price: [ '99.00' ] },
      { title: [ '高性能JavaScript' ], author: [ '扎克斯' ], price: [ '79.00' ] },
      { title: [ 'JavaScript设计模式' ], author: [ 'Stoyan Stefanov' ], price: [ '49.00' ] }
    ]
  }
}

这里的 result 就是我们转换后得到的 Javascript 对象,其中包含了 xml 文件中的所有元素。

读取元素

我们可以通过遍历 Javascript 对象来读取其中的元素。

以下代码演示了如何读取 xml 文件中所有书籍的标题:

const xml2js = require('xml2js');
const fs = require('fs');

const xml = fs.readFileSync('books.xml', 'utf-8');

xml2js.parseString(xml, (err, result) => {
  const books = result.books.book;

  for (let i = 0; i < books.length; i++) {
    const title = books[i].title[0];
    console.log(title);
  }
});

运行代码,我们可以得到以下输出结果:

JavaScript权威指南
高性能JavaScript
JavaScript设计模式

以上代码中的 books[i].title[0] 表示我们要读取第 i 本书的标题,[0] 表示将其转换为字符串类型。

结论

在 Javascript 中,使用 xml2js 库可以非常方便地读取 xml 中的元素。我们只需先将 xml 文件转换为 Javascript 对象,然后遍历对象来读取其中的元素。