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
Utiliser l'installation de fil :
yarn add js2xmlparser
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);
<?xml version="1.0" encoding="UTF-8"?> <person> <name>John Smith</name> <age>30</age> <email>john.smith@example.com</email> </person>
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 += '<' + property + '>'; if (typeof obj[property] === 'object') { xml += objectToXml(new Object(obj[property])); } else { xml += obj[property]; } xml += '</' + property + '>'; } } // 添加根元素闭合标签 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);
<?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>
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);
<person> <name>John</name> <age>30</age> <dateOfBirth> <year>1990</year> <month>3</month> <day>15</day> </dateOfBirth> </person>
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!