Node.js वातावरण में XML प्रसंस्करण का परिचय
XML (eXtensible Markup Language) संरचित डेटा के भंडारण और स्थानांतरण के लिए एक मांग वाला प्रारूप बना हुआ है, विशेष रूप से कॉर्पोरेट सिस्टम, SOAP सेवाओं, कॉन्फ़िगरेशन फ़ाइलों और एकीकरण समाधानों में। Node.js पारिस्थितिकी तंत्र में कई परिपक्व पुस्तकालय मौजूद हैं जो XML दस्तावेज़ों को कुशलतापूर्वक पार्स करने, बनाने और संशोधित करने की अनुमति देते हैं। इस लेख में हम तीन मुख्य उपकरणों पर विचार करेंगे: xml2js (XML को JSON में और वापस बदलने के लिए), fast-xml-parser (उच्च-प्रदर्शन पार्सर) और xmldom (Node.js के लिए DOM Level 2 का कार्यान्वयन)।
1. xml2js पुस्तकालय: सरलता और बहुमुखी प्रतिभा
xml2js Node.js में XML के साथ कार्य करने के लिए सबसे लोकप्रिय पुस्तकालयों में से एक है। इसका मुख्य कार्य XML को JavaScript ऑब्जेक्ट (JSON) में और वापस परिवर्तित करना है। यह एक आदर्श विकल्प है जब आपको XML डेटा को आधुनिक JavaScript एप्लिकेशन में शीघ्रता से एकीकृत करने की आवश्यकता होती है।
स्थापना
npm install xml2jsउदाहरण: XML को JSON में पार्स करना
const xml2js = require('xml2js');const parser = new xml2js.Parser({ explicitArray: false });
const xmlData = `<bookstore> <book category="programming"> <title lang="en">Learning Node.js</title> <author>John Doe</author> <price>29.99</price> </book></bookstore>`;
parser.parseString(xmlData, (err, result) => { if (err) { console.error('पार्सिंग त्रुटि:', err); return; } console.log(JSON.stringify(result, null, 2)); // आउटपुट: { bookstore: { book: { category: "programming", title: "Learning Node.js", author: "John Doe", price: "29.99" } } }});उदाहरण: JSON से XML बनाना
const xml2js = require('xml2js');const builder = new xml2js.Builder({ headless: true });
const jsonObj = { root: { $: { xmlns: "http://example.com/ns" }, item: [ { $: { id: "1" }, _: "पहला तत्व" }, { $: { id: "2" }, _: "दूसरा तत्व" } ] }};
const xml = builder.buildObject(jsonObj);console.log(xml);/* आउटपुट:<root xmlns="http://example.com/ns"> <item id="1">पहला तत्व</item> <item id="2">दूसरा तत्व</item></root>*/प्रमुख क्षमताएँ:
- विशेषताओं (उपसर्ग
$) और टेक्स्ट सामग्री (उपसर्ग_) का स्वचालित रूपांतरण - पार्सर अनुकूलन:
explicitArray,explicitRoot,attrkey,charkey - नाम स्थान (namespaces) के लिए समर्थन
- स्ट्रीम के माध्यम से बड़ी फ़ाइलों का प्रसंस्करण (स्ट्रीमिंग पार्सिंग)
2. fast-xml-parser: प्रदर्शन और लचीलापन
यदि आपको अधिकतम पार्सिंग गति की आवश्यकता है (उदाहरण के लिए, हजारों XML फ़ाइलों को संसाधित करते समय या real-time एप्लिकेशन में), तो fast-xml-parser पर ध्यान दें। यह पार्सर शुद्ध JavaScript में लिखा गया है, लेकिन उच्च प्रदर्शन के लिए अनुकूलित है।
स्थापना
npm install fast-xml-parserउदाहरण: मान्यकरण के साथ तेज़ पार्सिंग
const { XMLParser, XMLBuilder, XMLValidator } = require('fast-xml-parser');
const xmlData = `<config> <database host="localhost" port="5432"> <user>admin</user> <password>secret</password> </database></config>`;
// वैधता जांचconst validationResult = XMLValidator.validate(xmlData);if (validationResult !== true) { console.error('XML अमान्य है:', validationResult.err); process.exit(1);}
// पार्सिंगconst parser = new XMLParser({ ignoreAttributes: false, attributeNamePrefix: "@_"});const jsonObj = parser.parse(xmlData);console.log(jsonObj.config.database["@_host"]); // localhostconsole.log(jsonObj.config.datab