Comment convertir un objet en fichier XML en javascript

PHPz
Libérer: 2023-04-25 18:52:39
original
1851 Les gens l'ont consulté

Dans le développement front-end, nous avons souvent besoin de convertir des objets JavaScript en fichiers XML pour faciliter le partage de données dans différentes applications. Bien qu'il soit possible d'écrire manuellement du code pour générer du XML, cette méthode prend du temps et est sujette aux erreurs. Par conséquent, cet article présentera plusieurs méthodes pour convertir des objets JavaScript en fichiers XML. J'espère qu'il vous sera utile.

Méthode 1 : Utiliser la bibliothèque js2xmlparser

js2xmlparser est une bibliothèque permettant de convertir des objets JavaScript en chaînes XML. Il est facile à utiliser, prend en charge n'importe quel attribut et hiérarchies imbriquées, et gère des problèmes tels que les caractères spéciaux lors de la sortie XML.

Installation :

Utiliser l'installation npm :

npm install js2xmlparser
Copier après la connexion

Utiliser l'installation de fil :

yarn add js2xmlparser
Copier après la connexion

Exemple d'utilisation : #🎜🎜 #

const parser = require('js2xmlparser');

const object = {
    name: 'John Smith',
    age: 30,
    email: 'john.smith@example.com'
};

const xml = parser.parse('person', object);
console.log(xml);
Copier après la connexion
Sortie :

<?xml version="1.0" encoding="UTF-8"?>
<person>
  <name>John Smith</name>
  <age>30</age>
  <email>john.smith@example.com</email>
</person>
Copier après la connexion
Méthode 2 : Épisser manuellement les chaînes XML

Si vous ne souhaitez pas utiliser une bibliothèque tierce, vous pouvez également manuellement épisser des chaînes XML. Voici un exemple de code qui convertit les objets JavaScript en fichiers XML :

function objectToXml(obj, rootName) {
  let xml = '';

  // 添加 XML 声明
  xml += '<?xml version="1.0" encoding="UTF-8"?>';

  // 添加根元素标签
  xml += `<${rootName}>`;

  // 遍历对象属性,添加元素标签和属性
  for (const property in obj) {
    if (obj.hasOwnProperty(property)) {
      xml += '<&#39; + property + &#39;>';

      if (typeof obj[property] === 'object') {
        xml += objectToXml(new Object(obj[property]));
      } else {
        xml += obj[property];
      }

      xml += '</&#39; + property + &#39;>';
    }
  }

  // 添加根元素闭合标签
  xml += `</${rootName}>`;

  return xml;
}

const obj = {
  name: 'John',
  age: 30,
  dateOfBirth: {
    year: 1990,
    month: 3,
    day: 15
  }
};

const xml = objectToXml(obj, 'person');
console.log(xml);
Copier après la connexion
Sortie :

<?xml version="1.0" encoding="UTF-8"?>
<person>
  <name>John</name>
  <age>30</age>
  <dateOfBirth>
    <year>1990</year>
    <month>3</month>
    <day>15</day>
  </dateOfBirth>
</person>
Copier après la connexion
Méthode 3 : Utiliser l'API XMLSerializer

XMLSerializer Oui Une API JavaScript intégrée pour sérialiser les arborescences DOM en chaînes XML. Par conséquent, nous pouvons atteindre l'objectif de convertir un objet JavaScript en un fichier XML en créant une arborescence DOM contenant notre objet JavaScript. Voici un exemple de code :

function objectToXml(obj, rootName) {
  const dom = document.createElement(rootName);

  for (const property in obj) {
    if (obj.hasOwnProperty(property)) {
      const element = document.createElement(property);

      if (typeof obj[property] === 'object') {
        element.appendChild(objectToXml(new Object(obj[property]), property));
      } else {
        const value = document.createTextNode(obj[property]);
        element.appendChild(value);
      }

      dom.appendChild(element);
    }
  }

  return dom;
}

const obj = {
  name: 'John',
  age: 30,
  dateOfBirth: {
    year: 1990,
    month: 3,
    day: 15
  }
};

const xmlSerializer = new XMLSerializer();
const xml = xmlSerializer.serializeToString(objectToXml(obj, 'person'));
console.log(xml);
Copier après la connexion
Sortie :

<person>
  <name>John</name>
  <age>30</age>
  <dateOfBirth>
    <year>1990</year>
    <month>3</month>
    <day>15</day>
  </dateOfBirth>
</person>
Copier après la connexion
Conclusion

Cet article présente trois méthodes pour convertir des objets JavaScript en fichiers XML. La première méthode utilise la bibliothèque js2xmlparser, simple à utiliser et puissante. La deuxième méthode consiste à fusionner manuellement les chaînes XML. Si vous ne souhaitez pas installer de bibliothèque tierce, vous pouvez choisir cette méthode. La troisième méthode consiste à utiliser l'API XMLSerializer, qui nécessite la création d'une arborescence DOM à implémenter, mais si vous utilisez souvent des opérations DOM dans votre travail, cette méthode peut vous convenir davantage. J'espère que cet article vous aidera à trouver la méthode de conversion qui vous convient.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!