Node.js は、JavaScript を使用したサーバーサイド プログラミング用のプラットフォームです。いくつかのタスクを完了するために XML データを処理する必要があることがよくあります。この記事では、Node.js で XML データを処理する方法について説明します。
XML とは何ですか?
XML は拡張マークアップ言語とも呼ばれます。これは、ドキュメントの構造とコンテンツを記述するルールを定義するマークアップ言語です。 HTML とは異なり、XML では要素が事前定義されません。これは、独自のタグを作成し、それを使用してデータを説明できることを意味します。
XML の一般的な形式は次のとおりです:
<?xml version="1.0" encoding="UTF-8"?> <root> <person> <name>John</name> <age>30</age> </person> <person> <name>Jane</name> <age>25</age> </person> </root>
Node.js で XML データを処理するにはどうすればよいですか?
Node.js では、組み込みモジュール fs
を使用して XML ファイルの読み取りと書き込みを行うことができます。ただし、XML データを解析してシリアル化するには、サードパーティのモジュールを使用する必要があります。
XML データの解析
Node.js では、xml2js
モジュールを使用して XML データを簡単に解析できます。 xml2js
XML データを JavaScript オブジェクトに変換する方法を提供します。
最初にモジュールをインストールできます:
npm install xml2js
アプリケーションのコードでは、次のようにモジュールを使用できます:
const xml2js = require('xml2js'); const xml = ` <?xml version="1.0" encoding="UTF-8"?> <root> <person> <name>John</name> <age>30</age> </person> <person> <name>Jane</name> <age>25</age> </person> </root> `; const parser = new xml2js.Parser({ explicitArray: false }); parser.parseString(xml, (err, result) => { if (err) { console.error(err); } else { console.log(result); } });
上記のコードでは、最初に定義しますXML データを含む文字列。次に、xml2js
パーサーのインスタンスを作成し、parseString
メソッドを使用して XML データを JavaScript オブジェクトに解析します。 explicitArray
この属性は、返される結果が配列ではなくオブジェクトであることを保証するためのものです。
上記のコードを実行すると、次の出力が得られます:
{ root: { person: [ { name: 'John', age: '30' }, { name: 'Jane', age: '25' } ] } }
出力から、パーサーが XML データをネストされた JavaScript オブジェクトに正常に変換したことがわかります。
JavaScript オブジェクトを XML にシリアル化する
JavaScript オブジェクトを処理した後、場合によっては、JavaScript オブジェクトを XML データにシリアル化する必要があります。これを実現するには、xml2js
モジュールで提供されている Builder
クラスを使用します。
最初にモジュールをインストールできます:
npm install xml2js
アプリケーションのコードでは、次のように使用できます:
const xml2js = require('xml2js'); const data = { root: { person: [ { name: 'John', age: '30' }, { name: 'Jane', age: '25' } ] } }; const builder = new xml2js.Builder(); const xml = builder.buildObject(data); console.log(xml);
上記のコードでは、最初にデータを保存するための JavaScript オブジェクト。次に、xml2js
の Builder
インスタンスを作成し、その buildObject()
メソッドを使用して、JavaScript オブジェクトを XML データにシリアル化します。
上記のコードを実行すると、次の出力が得られます:
<root> <person> <name>John</name> <age>30</age> </person> <person> <name>Jane</name> <age>25</age> </person> </root>
出力からわかるように、JavaScript オブジェクトが XML データに正常にシリアル化されました。
結論
これで、Node.js で XML データを処理する方法がわかりました。 XML ファイルからデータを読み取る場合でも、JSON から XML に変換する場合でも、XML データを JSON に変換する場合でも、xml2js
ライブラリは非常に便利で便利なライブラリです。これにより、XML データの処理と操作がより簡単になります。
以上がNodejs が XML を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。