Nodejs が XML を処理する方法

王林
リリース: 2023-05-11 16:37:07
オリジナル
1748 人が閲覧しました

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 オブジェクト。次に、xml2jsBuilder インスタンスを作成し、その 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート