Maison  >  Article  >  interface Web  >  nodejs json en XML

nodejs json en XML

王林
王林original
2023-05-24 11:42:37822parcourir

Node.js est un environnement d'exécution côté serveur construit sur le moteur JavaScript Chrome V8. Il peut écrire du code côté serveur à l'aide de JavaScript et constitue actuellement l'un des langages de programmation côté serveur les plus populaires. Parmi eux, JSON (JavaScript Object Notation) est un format d'échange de données léger largement utilisé dans la transmission et le stockage de données en réseau. XML (Extensible Markup Language) est un langage utilisé pour stocker et transmettre des données, et est également largement utilisé dans la transmission et le stockage de données.

Dans Node.js, c'est une opération courante de convertir le format JSON au format XML, qui peut mieux s'adapter à certains protocoles de transfert de données ou de stockage de données. Cet article explique comment convertir le format JSON au format XML à l'aide de modules dans Node.js.

Utilisez le module xmlbuilder

XMLBuilder est un module de Node.js pour créer des documents XML. Il prend en charge les appels chaînés et une syntaxe simple, permettant aux développeurs de créer rapidement un document XML. Un exemple de code complet est donné ci-dessous :

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);

Cet exemple de code convertit un objet JSON en une chaîne XML. Nous avons d'abord introduit le module xmlbuilder, puis défini un objet JSON jsonObj, qui contient le titre du livre, l'auteur et l'année de publication. Ensuite, nous utilisons la méthode builder.create() pour convertir l'objet JSON en objet XML xmlObj et spécifions le format d'encodage comme UTF-8. Enfin, nous utilisons la méthode xmlObj.end() pour formater le XML en chaîne et l'afficher sur la console. 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()方法中,我们还指定了explicitArray:false

Dans le code ci-dessus, lors du processus d'utilisation de XMLBuilder pour créer un document XML, une méthode d'appel en chaîne est utilisée pour ajouter des nœuds enfants ou des attributs via des opérateurs de points continus (.). XMLBuilder peut également utiliser le formulaire JSON pour créer des nœuds, tels que {name: "value">. Les appels en chaîne et la structure arborescente de construction sous forme JSON rendent l'API XMLBuilder très simple et pratique à utiliser.

Utilisez le module xml2js

xml2js est un module qui analyse les documents XML en objets JavaScript et fournit également la fonction de conversion d'objets JavaScript en documents XML. Voici un exemple de code pour convertir un objet JSON en un document XML : #🎜🎜#rrreee#🎜🎜#Dans cet exemple de code, nous introduisons d'abord le module xml2js, puis définissons un objet JSON jsonObj . Ensuite, nous avons utilisé la méthode new xml2js.Builder() pour créer un objet XMLBuilder xmlBuilder et avons spécifié le nom du nœud racine comme "livres" et le format de sortie comme style d'embellissement. . Enfin, nous utilisons la méthode xmlBuilder.buildObject() pour convertir l'objet JSON au format XML et le sortir sur la console. #🎜🎜##🎜🎜#Il est à noter que lorsque vous utilisez xml2js pour convertir JSON au format XML, vous devez utiliser la méthode new xml2js.Builder() pour créer un objet XMLBuilder afin de effectuer l'opération de conversion. Dans le même temps, il est également très pratique d'utiliser xml2js pour analyser des documents XML. Grâce à la méthode parseString() fournie par xml2js, nous pouvons analyser des documents XML en objets JavaScript, comme le montre le code suivant. : #🎜🎜#rrreee #🎜🎜#Dans cet exemple de code, nous utilisons la méthode xml2js.parseString() pour analyser une chaîne XML dans un objet JavaScript. Dans la méthode parseString(), nous spécifions également le paramètre explicitArray:false pour éviter de générer des tableaux redondants lors de l'analyse du document XML. Après avoir analysé le document XML en un objet JavaScript, il nous suffit de traiter l'objet JavaScript dans la fonction de rappel. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#Node.js fournit quelques modules pour implémenter la fonction de conversion du format JSON au format XML, parmi lesquels XMLBuilder et xml2js sont tous deux de bons choix. Grâce à XMLBuilder, nous pouvons facilement créer des documents XML via des opérations en chaîne et un formulaire JSON. xml2js fournit la fonction d'analyser les documents XML en objets JavaScript pour faciliter le traitement ultérieur. Quel que soit le type de module, utiliser pleinement les modules fournis par Node.js peut simplifier le code et rendre le développement plus efficace et plus pratique. #🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn