NodejsのJSONからXMLへ

王林
王林オリジナル
2023-05-24 11:42:37903ブラウズ

Node.js は、Chrome V8 JavaScript エンジン上に構築されたサーバー側の実行環境です。 JavaScript を使用してサーバー側のコードを記述することができ、現在最も人気のあるサーバー側プログラミング言語の 1 つです。その中でも、JSON (JavaScript Object Notation) は、ネットワーク データ送信とデータ ストレージで広く使用されている軽量のデータ交換形式です。 XML (Extensible Markup Language) は、データの保存と送信に使用される言語であり、データの送信と保存でも広く使用されています。

Node.js では、JSON 形式を XML 形式に変換するのが一般的な操作であり、特定のデータ転送プロトコルやデータ ストレージ プロトコルに適切に適応できます。この記事では、Node.js のモジュールを使用して JSON 形式を XML 形式に変換する方法を紹介します。

xmlbuilder モジュールの使用

XMLBuilder は、XML ドキュメントの構築に使用される Node.js のモジュールです。チェーン呼び出しと単純な構文をサポートしているため、開発者は XML ドキュメントを迅速に作成できます。完全なコード例を以下に示します。

const builder = require('xmlbuilder');

const jsonObj = {
  "book": {
    "title": "Harry Potter and the Philosopher's Stone",
    "author": "J.K. Rowling",
    "year": "1997"
  }
};

const xmlObj = builder.create(jsonObj, { encoding: 'utf-8' });
const xmlStr = xmlObj.end({ pretty: true });

console.log(xmlStr);

このコード例では、JSON オブジェクトを XML 文字列に変換します。最初に xmlbuilder モジュールを導入し、次に書籍のタイトル、著者、出版年を含む JSON オブジェクト jsonObj を定義しました。次に、builder.create() メソッドを使用して、JSON オブジェクトを XML オブジェクト xmlObj に変換し、エンコード形式を UTF-8 として指定します。最後に、xmlObj.end() メソッドを使用して XML を文字列にフォーマットし、コンソールに出力します。

上記のコードでは、XMLBuilder を使用して XML ドキュメントを構築するプロセスで、チェーン呼び出しメソッドを使用して、連続ドット演算子 (.) を通じて子ノードまたは属性を追加します。 XMLBuilder は、JSON フォームを使用して {name: "value"} などのノードを構築することもできます。チェーン呼び出しと JSON 形式の構築ツリー構造により、XMLBuilder API は非常にシンプルで使いやすくなっています。

xml2js モジュールの使用

xml2js は、XML 文書を JavaScript オブジェクトに解析するモジュールであり、JavaScript オブジェクトを XML 文書に変換する機能も提供します。以下は、JSON オブジェクトを XML ドキュメントに変換するサンプル コードです。

const xml2js = require("xml2js");

const jsonObj = {
  "book": {
    "title": "Harry Potter and the Philosopher's Stone",
    "author": "J.K. Rowling",
    "year": "1997"
  }
};

const xmlBuilder = new xml2js.Builder({ rootName: "books", renderOpts: { pretty: true } });
const xmlStr = xmlBuilder.buildObject(jsonObj);

console.log(xmlStr);

このサンプル コードでは、最初に xml2js モジュールを導入し、次に JSON オブジェクト jsonObj を定義します。次に、new xml2js.Builder() メソッドを使用して XMLBuilder オブジェクト xmlBuilder を作成し、ルート ノード名を「books」として、出力形式を美化スタイルとして指定しました。最後に、xmlBuilder.buildObject() メソッドを使用して、JSON オブジェクトを XML 形式に変換し、コンソールに出力します。

xml2js を使用して JSON を XML 形式に変換する場合、変換を実行するには、new xml2js.Builder() メソッドを使用して XMLBuilder オブジェクトを作成する必要があることに注意してください。手術。同時に、xml2js を使用して XML ドキュメントを解析することも非常に便利です。xml2js が提供する parseString() メソッドを通じて、次のように XML ドキュメントを JavaScript オブジェクトに解析できます。コード:

const xml2js = require("xml2js");

const xmlStr = '<books><book><title>Harry Potter and the Philosopher&apos;s Stone</title><author>J.K. Rowling</author><year>1997</year></book></books>';

xml2js.parseString(xmlStr, { explicitArray: false }, (err, result) => {
  if (err) {
    console.error(err);
    return;
  }
  
  console.log(result);
});

このコード例では、xml2js.parseString() メソッドを使用して XML 文字列を JavaScript オブジェクトに解析します。 parseString() メソッドでは、XML ドキュメントの解析時に冗長な配列の生成を避けるために、explicitArray:false パラメーターも指定します。 XML ドキュメントを JavaScript オブジェクトに解析した後は、コールバック関数で JavaScript オブジェクトを処理するだけで済みます。

概要

Node.js は、JSON 形式を XML 形式に変換する機能を実装するためのモジュールをいくつか提供します。その中で、XMLBuilder と xml2js はどちらも良い選択肢です。 XMLBuilder を使用すると、チェーン操作と JSON 形式を通じて XML ドキュメントを簡単に構築できます。 xml2js は、後続の処理を容易にするために、XML ドキュメントを JavaScript オブジェクトに解析する機能を提供します。どのようなモジュールであっても、Node.jsが提供するモジュールを使いこなすことでコードが簡略化され、開発がより効率的かつ便利になります。

以上がNodejsのJSONからXMLへの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。