Node.js में XML के साथ काम करना: लाइब्रेरी और उदाहरण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Node.js (JavaScript) में XML के साथ काम करना: लाइब्रेरी, पार्सिंग और क्रिएशन

XML (eXtensible Markup Language) कॉर्पोरेट सिस्टम, कॉन्फ़िगरेशन फ़ाइलों और पुराने API में डेटा एक्सचेंज के लिए एक महत्वपूर्ण फ़ॉर्मेट बना हुआ है। Node.js इकोसिस्टम में कई परिपक्व लाइब्रेरी उपलब्ध हैं जो XML दस्तावेज़ों को पार्स, क्रिएट और ट्रांसफ़ॉर्म करने में मदद करती हैं। इस लेख में हम तीन सबसे लोकप्रिय लाइब्रेरीज़ - fast-xml-parser, xml2js और libxmljs - के बारे में जानेंगे और उनके प्रैक्टिकल उदाहरण देखेंगे।

1. fast-xml-parser — तेज़ और सुरक्षित पार्सर

fast-xml-parser Node.js में XML के साथ काम करने के लिए सबसे तेज़ लाइब्रेरी में से एक है। यह सिंक्रोनस और एसिंक्रोनस दोनों तरह के पार्सिंग को सपोर्ट करता है, और XSD स्कीमा के आधार पर XML दस्तावेज़ों को वैलिडेट भी कर सकता है।

इंस्टॉलेशन

npm install fast-xml-parser

XML को JavaScript ऑब्जेक्ट में पार्स करने का उदाहरण

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

ignoreAttributes: false सेट करने से XML टैग के एट्रीब्यूट सेव रहते हैं, और attributeNamePrefix एट्रीब्यूट नामों में प्रीफ़िक्स जोड़ता है ताकि सामान्य टैग से कन्फ़्लिक्ट न हो।

ऑब्जेक्ट से XML बनाना

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 — सरल और भरोसेमंद कन्वर्टर

xml2js XML को JSON में और JSON से XML में बदलने के लिए एक क्लासिक लाइब्रेरी है। इसका API बहुत सरल है और यह अच्छी तरह से डॉक्यूमेंटेड है।

इंस्टॉलेशन

npm install xml2js

एरर हैंडलिंग के साथ XML पार्सिंग

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

const parser = new xml2js.Parser({
    explicitArray: false, // सिंगल एलिमेंट को ऐरे में न लपेटें
    trim: true,
    normalizeTags: true   // टैग के केस को नॉर्मलाइज़ करें
});

fs.readFile('config.xml', 'utf-8', (err, data) => {
    if (err) {
        console.error('फ़ाइल पढ़ने में त्रुटि:', err);
        return;
    }
    
    parser.parseString(data, (parseErr, result) => {
        if (parseErr) {
            console.error('XML पार्स करने में त्रुटि:', parseErr);
            return;
        }
        console.log('कॉन्फ़िगरेशन पैरामीटर:', result.configuration);
    });
});

xml2js के साथ XML बनाना

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: 'राहुल शर्मा',
                email: 'rahul@example.com'
            }
        }
    }
};

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

3. libxmljs — एडवांस्ड XML कामों के लिए

libxmljs libxml2 लाइब्रेरी का नेटिव बाइंडिंग है, जो सबसे ज़्यादा परफ़ॉर्मेंस और एडवांस्ड सुविधाएँ प्रदान करता है।

अनुशंसाएँ