Arbeit mit XML in JavaScript (Node.js): Bibliotheken und Beispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arbeit mit XML in JavaScript (Node.js): Bibliotheken, Parsing und Erstellung



XML (eXtensible Markup Language) bleibt ein gefragtes Format für den Datenaustausch in Unternehmenssystemen, Konfigurationsdateien und älteren APIs. Im Node.js-Ökosystem gibt es mehrere ausgereifte Bibliotheken, mit denen sich XML-Dokumente effizient parsen, erstellen und transformieren lassen. In diesem Artikel betrachten wir die drei beliebtesten Bibliotheken: fast-xml-parser, xml2js und libxmljs, und zeigen praktische Beispiele für deren Verwendung.



1. fast-xml-parser – schneller und sicherer Parser



fast-xml-parser ist eine der leistungsfähigsten Bibliotheken für die Arbeit mit XML in Node.js. Sie unterstützt sowohl synchrones als auch asynchrones Parsing und kann XML-Dokumente gegen XSD-Schemata validieren.



Installation

npm install fast-xml-parser


Beispiel für das Parsen von XML in ein JavaScript-Objekt

const { XMLParser } = require('fast-xml-parser');

const xmlData = `<?xml version="1.0" encoding="UTF-8"?><bookstore> <book category="programming"> <title lang="en">JavaScript: The Good Parts</title> <author>Douglas Crockford</author> <year>2008</year> <price>29.99</price> </book></bookstore>`;

const parser = new XMLParser({ ignoreAttributes: false, attributeNamePrefix: '@_'});

const result = parser.parse(xmlData);console.log(JSON.stringify(result, null, 2));


Die Einstellung ignoreAttributes: false ermöglicht das Beibehalten von XML-Tag-Attributen, und attributeNamePrefix fügt Attributnamen ein Präfix hinzu, um Konflikte mit normalen Tags zu vermeiden.



Erstellung von XML aus einem Objekt

const { XMLBuilder } = require('fast-xml-parser');

const builder = new XMLBuilder({ format: true, ignoreAttributes: false});

const obj = { bookstore: { book: { '@_category': 'programming', title: { '@_lang': 'en', '#text': 'Clean Code' }, author: 'Robert C. Martin', year: 2008, price: 39.99 } }};

const xmlOutput = builder.build(obj);console.log(xmlOutput);


2. xml2js – einfacher und zuverlässiger Konverter



xml2js ist eine klassische Bibliothek zur Umwandlung von XML in JSON und zurück. Sie bietet eine einfache API und ist gut dokumentiert.



Installation

npm install xml2js


XML-Parsing mit Fehlerbehandlung

const xml2js = require('xml2js');const fs = require('fs');

const parser = new xml2js.Parser({ explicitArray: false, // einzelne Elemente nicht in Arrays verpacken trim: true, normalizeTags: true // Tag-Schreibweise normalisieren});

fs.readFile('config.xml', 'utf-8', (err, data) => { if (err) { console.error('Fehler beim Lesen der Datei:', err); return; } parser.parseString(data, (parseErr, result) => { if (parseErr) { console.error('Fehler beim XML-Parsing:', parseErr); return; } console.log('Konfigurationsparameter:', result.configuration); });});


XML-Erstellung mit xml2js

const xml2js = require('xml2js');

const builder = new xml2js.Builder({ xmldec: { version: '1.0', encoding: 'UTF-8' }, renderOpts: { pretty: true, indent: ' ' }});

const obj = { response: { status: 'success', data: { user: { id: 123, name: 'Ivan Petrov', email: 'ivan@example.com' } } }};

const xml = builder.buildObject(obj);console.log(xml);


3. libxmljs – für fortgeschrittene XML-Arbeit



l

Empfehlungen