Node.js वातावरण में XML के साथ कार्य का परिचय
XML (eXtensible Markup Language) संरचित डेटा के भंडारण और स्थानांतरण के लिए एक मांग वाला प्रारूप बना हुआ है, विशेष रूप से कॉर्पोरेट सिस्टम, चिकित्सा प्रोटोकॉल और पुराने API में। Node.js पारिस्थितिकी तंत्र में कई परिपक्व लाइब्रेरीज़ मौजूद हैं जो XML दस्तावेज़ों को कुशलतापूर्वक पार्स करने, बनाने और संशोधित करने की अनुमति देती हैं। इस लेख में हम प्रमुख उपकरणों पर विचार करेंगे: fast-xml-parser, xml2js, xmlbuilder2 और xpath।
आवश्यक पैकेजों की स्थापना
आरंभ करने के लिए, npm के माध्यम से पैकेज स्थापित करें:
npm install fast-xml-parser xml2js xmlbuilder2 xpath1. fast-xml-parser के साथ XML पार्सिंग
fast-xml-parser JavaScript में XML को पार्स करने के लिए सबसे अधिक प्रदर्शनशील लाइब्रेरी है। यह विशेषताओं, नाम स्थानों और JSON में रूपांतरण का समर्थन करती है।
बेसिक पार्सिंग
const { XMLParser } = require('fast-xml-parser');
const xmlData = `<bookstore> <book category="fiction"> <title lang="en">The Great Gatsby</title> <author>F. Scott Fitzgerald</author> <year>1925</year> </book></bookstore>`;
const parser = new XMLParser({ ignoreAttributes: false, // विशेषताओं को सहेजें attributeNamePrefix: '@_' // विशेषताओं के लिए उपसर्ग});
const result = parser.parse(xmlData);console.log(result.bookstore.book[0].title);// 'The Great Gatsby'console.log(result.bookstore.book[0]['@_category']);// 'fiction'त्रुटि जाँच के साथ पार्सिंग
const { XMLParser, XMLValidator } = require('fast-xml-parser');
const invalidXml = '<root><item>Unclosed';
if (XMLValidator.validate(invalidXml) === true) { const parser = new XMLParser(); const data = parser.parse(invalidXml);} else { console.error('अमान्य XML'); // आउटपुट: true (यदि मान्य है) या त्रुटि ऑब्जेक्ट}2. xml2js लाइब्रेरी — JSON में सुविधाजनक रूपांतरण
xml2js कॉलबैक-उन्मुख API प्रदान करती है और कस्टम पार्सिंग सेटिंग्स का समर्थन करती है।
const xml2js = require('xml2js');const parser = new xml2js.Parser({ explicitArray: false, // एकल तत्वों को सरणी में न लपेटें attrkey: 'attributes'});
const xml = `<person id="123"> <name>John Doe</name> <age>30</age></person>`;
parser.parseString(xml, (err, result) => { if (err) { console.error('पार्सिंग त्रुटि:', err); return; } console.log(result.person.name); // 'John Doe' console.log(result.person.attributes.id); // '123'});xml2js के लिए प्रॉमिस रैपर
const { parseStringPromise } = require('xml2js');
async function parseXML(xmlString) { try { const data = await parseStringPromise(xmlString, { explicitArray: false }); return data; } catch (error) { console.error('त्रुटि:', error.message); }}3. xmlbuilder2 के साथ XML निर्माण
xmlbuilder2 श्रृंखलाबद्ध इंटरफ़ेस (fluent API) के साथ XML दस्तावेज़ उत्पन्न करने के लिए एक आधुनिक लाइब्रेरी है।
सरल XML निर्माण
const { create } = require('xmlbuilder2');
const doc = create({ version: '1.0', encoding: 'UTF-8' }) .ele('catalog') .ele('book', { id: 'b1' }) .ele('title').txt('JavaScript: The Good Parts').up() .ele('author').txt('Douglas Crockford').up() .ele('price', { currency: 'USD' }).txt('29.99').up() .up() .end({ prettyPrint: true });
console.log(doc);परिणाम:
<?xml version="1.0" encoding="UTF-8"?><catalog> <book id="b1"> &l पुस्तकालय में भी
Swift (iOS/macOS) में तिथियों के साथ कार्य करना: पुस्तकालय और उपकरण
Firebase Android SDK Kotlin: पूर्ण गाइड उदाहरण सहित
XCTest — Swift (iOS/macOS) में परीक्षण