Node.js ialah persekitaran berjalan sebelah pelayan yang dibina pada enjin JavaScript Chrome V8. Ia boleh menulis kod sebelah pelayan menggunakan JavaScript dan kini merupakan salah satu bahasa pengaturcaraan sebelah pelayan yang paling popular. Antaranya, JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang digunakan secara meluas dalam penghantaran data rangkaian dan penyimpanan data. XML (Extensible Markup Language) ialah bahasa yang digunakan untuk menyimpan dan menghantar data, dan juga digunakan secara meluas dalam penghantaran dan penyimpanan data.
Dalam Node.js, adalah operasi biasa untuk menukar format JSON kepada format XML, yang boleh menyesuaikan dengan lebih baik kepada protokol pemindahan data atau protokol storan data tertentu. Artikel ini akan memperkenalkan cara menukar format JSON kepada format XML menggunakan modul dalam Node.js.
XMLBuilder ialah modul dalam Node.js untuk membina dokumen XML. Ia menyokong panggilan berantai dan sintaks mudah, membolehkan pembangun membuat dokumen XML dengan cepat. Contoh kod lengkap diberikan di bawah:
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);
Kod contoh ini menukar objek JSON kepada rentetan XML. Kami mula-mula memperkenalkan modul xmlbuilder, dan kemudian menentukan objek JSON jsonObj
, yang mengandungi tajuk buku, pengarang dan tahun penerbitan. Seterusnya, kami menggunakan kaedah builder.create()
untuk menukar objek JSON kepada objek XML xmlObj
dan menentukan format pengekodan sebagai UTF-8. Akhir sekali, kami menggunakan kaedah xmlObj.end()
untuk memformat XML menjadi rentetan dan mengeluarkannya ke konsol.
Dalam kod di atas, dalam proses menggunakan XMLBuilder untuk membina dokumen XML, kaedah panggilan berantai digunakan untuk menambah nod atau atribut anak melalui pengendali titik berterusan (.). XMLBuilder juga boleh menggunakan borang JSON untuk membina nod, seperti {name: "value"}
. Panggilan rantaian dan struktur pokok pembinaan dalam bentuk JSON menjadikan XMLBuilder API sangat mudah dan mudah digunakan.
xml2js ialah modul yang menghuraikan dokumen XML ke dalam objek JavaScript, dan juga menyediakan fungsi menukar objek JavaScript kepada dokumen XML. Berikut ialah contoh kod untuk menukar objek JSON kepada dokumen 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);
Dalam kod sampel ini, kami mula-mula memperkenalkan modul xml2js dan kemudian mentakrifkan objek JSON jsonObj
. Seterusnya, kami menggunakan kaedah new xml2js.Builder()
untuk mencipta objek XMLBuilder xmlBuilder
, dan menentukan nama nod akar sebagai "buku" dan format output sebagai gaya pengindahan. Akhir sekali, kami menggunakan kaedah xmlBuilder.buildObject()
untuk menukar objek JSON ke dalam format XML dan mengeluarkannya ke konsol.
Perlu diambil perhatian bahawa apabila menggunakan xml2js untuk menukar JSON kepada format XML, anda perlu menggunakan kaedah new xml2js.Builder()
untuk mencipta objek XMLBuilder untuk melaksanakan operasi penukaran. Pada masa yang sama, ia juga sangat mudah untuk menggunakan xml2js untuk menghuraikan dokumen XML Melalui kaedah parseString()
yang disediakan oleh xml2js, kami boleh menghuraikan dokumen XML ke dalam objek JavaScript, seperti yang ditunjukkan dalam kod berikut:
const xml2js = require("xml2js"); const xmlStr = '<books><book><title>Harry Potter and the Philosopher'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); });
untuk menghuraikan rentetan XML ke dalam objek JavaScript. Dalam kaedah xml2js.parseString()
, kami juga menentukan parameter parseString()
untuk mengelakkan menjana tatasusunan berlebihan apabila menghuraikan dokumen XML. Selepas menghuraikan dokumen XML ke dalam objek JavaScript, kami hanya perlu memproses objek JavaScript dalam fungsi panggil balik. explicitArray:false
Atas ialah kandungan terperinci nodejs json kepada xml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!