目次
xmlbuilder モジュールの使用
xml2js モジュールの使用
概要

NodejsのJSONからXMLへ

May 24, 2023 am 11:42 AM

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

UseEffectとは何ですか?副作用を実行するためにどのように使用しますか? UseEffectとは何ですか?副作用を実行するためにどのように使用しますか? Mar 19, 2025 pm 03:58 PM

この記事では、functionコンポーネントでのデータフェッチやDOM操作などの副作用を管理するためのフックであるReactの使用Effectについて説明します。メモリリークなどの問題を防ぐための使用、一般的な副作用、およびクリーンアップについて説明します。

connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか? connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか? Mar 21, 2025 pm 06:23 PM

記事では、Connect()、MapStateToprops、MapDispatchToprops、およびパフォーマンスへの影響を説明するReduxストアに反応コンポーネントをReduxストアに接続します。

usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか? usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか? Mar 19, 2025 pm 03:59 PM

この記事では、ReactのUseContextを説明しています。これにより、小道具掘削を避けることで国家管理を簡素化します。再レンダーの削減により、集中状態やパフォーマンスの改善などの利点について説明します。

イベントハンドラーのデフォルトの動作をどのように防止しますか? イベントハンドラーのデフォルトの動作をどのように防止しますか? Mar 19, 2025 pm 04:10 PM

記事では、PreventDefault()メソッドを使用して、イベントハンドラーのデフォルト動作の防止、ユーザーエクスペリエンスの強化などの利点、およびアクセシビリティの懸念などの潜在的な問題について説明します。

制御されたコンポーネントと制御されていないコンポーネントの利点と短所は何ですか? 制御されたコンポーネントと制御されていないコンポーネントの利点と短所は何ですか? Mar 19, 2025 pm 04:16 PM

この記事では、予測可能性、パフォーマンス、ユースケースなどの側面に焦点を当てた、Reactの制御されていないコンポーネントと制御されていないコンポーネントの利点と欠点について説明します。それらを選択する際に考慮することを要因についてアドバイスします。

HTMLにおけるReactの役割:ユーザーエクスペリエンスの向上 HTMLにおけるReactの役割:ユーザーエクスペリエンスの向上 Apr 09, 2025 am 12:11 AM

ReactはJSXとHTMLを組み合わせてユーザーエクスペリエンスを向上させます。 1)JSXはHTMLを埋め込み、開発をより直感的にします。 2)仮想DOMメカニズムは、パフォーマンスを最適化し、DOM操作を削減します。 3)保守性を向上させるコンポーネントベースの管理UI。 4)国家管理とイベント処理は、インタラクティブ性を高めます。

Arrayおよびオブジェクトの変更に関するVUE 2の反応性システムの制限は何ですか? Arrayおよびオブジェクトの変更に関するVUE 2の反応性システムの制限は何ですか? Mar 25, 2025 pm 02:07 PM

VUE 2の反応性システムは、直接配列インデックス設定、長さの変更、およびオブジェクトプロパティの追加/削除と闘っています。開発者は、Vueの突然変異法とVue.set()を使用して、反応性を確保することができます。

&lt; route&gt;を使用してルートをどのように定義しますか 成分? &lt; route&gt;を使用してルートをどのように定義しますか 成分? Mar 21, 2025 am 11:47 AM

この記事では、&lt; route&gt;を使用して、Reactルーターのルートの定義について説明します。パス、コンポーネント、レンダリング、子供、正確、ネストされたルーティングなどの小道具をカバーするコンポーネント。

See all articles