XML पार्सर

XML दस्तावेज़ तुरंत फ़ॉर्मैट, वैलिडेट और क्वेरी करें। अधिकतम गति और गोपनीयता के लिए नेटिव ब्राउज़र API पर चलता है।

फ़ॉर्मैट और मिनिफ़ाई XPath क्वेरी वैलिडेशन

XML पार्सर का उपयोग कैसे करें

1

अपना XML पेस्ट करें

अपनी XML सामग्री कॉपी करके इनपुट फ़ील्ड में पेस्ट करें, या नमूना XML लोड करें पर क्लिक करें।

2

फ़ॉर्मैट और वैलिडेट

सुंदर बनाने के लिए फ़ॉर्मैट, संकुचित करने के लिए मिनिफ़ाई, एरर जांचने के लिए वैलिडेट का उपयोग करें।

3

XPath से क्वेरी करें

एक XPath एक्सप्रेशन दर्ज करें और विशिष्ट नोड निकालने के लिए XPath चलाएं पर क्लिक करें।

XML क्या है?

XML (eXtensible Markup Language) एक मार्कअप भाषा है जो दस्तावेज़ों को ऐसे प्रारूप में एनकोड करने के नियमों का सेट परिभाषित करती है जो मनुष्य और मशीन दोनों के पढ़ने-योग्य हो। इसका उपयोग कॉन्फ़िगरेशन फ़ाइलों, डेटा एक्सचेंज (SOAP, RSS, Atom) और दस्तावेज़ भंडारण के लिए व्यापक रूप से होता है।

XML की मुख्य विशेषताएं

स्व-वर्णनात्मक

XML डेटा संरचना बताने के लिए कस्टम टैग उपयोग करता है, जिससे सामग्री और पदानुक्रम एक नज़र में समझ आ जाता है।

प्लेटफ़ॉर्म-स्वतंत्र

सादे टेक्स्ट के रूप में XML बिना संगतता समस्या के सभी प्लेटफ़ॉर्म, प्रोग्रामिंग भाषाओं और सिस्टम पर काम करता है।

एक्सटेंसिबल

DTD या XML Schema से आप किसी भी डेटा मॉडल के अनुकूल अपने टैग और दस्तावेज़ संरचना परिभाषित कर सकते हैं।

अक्सर पूछे जाने वाले प्रश्न

वेल-फ़ॉर्म्ड और वैलिड XML में क्या अंतर है?

वेल-फ़ॉर्म्ड XML XML के मूल सिंटैक्स नियमों का पालन करता है (उचित नेस्टिंग, क्लोज़िंग टैग, एकल रूट एलिमेंट)। वैलिड XML वेल-फ़ॉर्म्ड भी होता है और एक स्कीमा (DTD, XSD) के अनुरूप भी, जो अनुमत संरचना और डेटा प्रकार परिभाषित करता है।

क्या यह टूल XSD स्कीमा के विरुद्ध वैलिडेट करता है?

नहीं, यह टूल केवल वेल-फ़ॉर्म्डनेस (सिंटैक्स सहीपन) जांचता है। DTD या XSD के विरुद्ध स्कीमा-आधारित वैलिडेशन ब्राउज़र में नेटिव रूप से समर्थित नहीं है।

कौन सा XPath संस्करण समर्थित है?

ब्राउज़र का नेटिव document.evaluate() XPath 1.0 का समर्थन करता है। इसमें axes, predicates और contains(), text(), @attribute जैसे फ़ंक्शन सहित अधिकांश सामान्य क्वेरियां आ जाती हैं।

XML नेमस्पेस क्या हैं और इन्हें कैसे पढ़ा जाता है?

नेमस्पेस xmlns एट्रिब्यूट के ज़रिए एलिमेंट नामों को एक URI से मैप करता है - जैसे एक atom:feed एलिमेंट xmlns:atom="http://www.w3.org/2005/Atom" घोषित करता है। प्रीफ़िक्स कोई भी हो सकता है; केवल URI ही नेमस्पेस की पहचान करता है, इसलिए दो दस्तावेज़ एक ही शब्दावली के लिए अलग प्रीफ़िक्स रख सकते हैं। इसी कारण प्रीफ़िक्स अलग होने पर XPath मैचिंग में अक्सर local-name() ट्रिक चाहिए।

XPath नोड कैसे चुनता है?

XPath 1.0 एक्सप्रेशन ट्री पर चलते हैं: /rss/channel/item पाथ से चुनता है, //item दस्तावेज़ में कहीं भी item ढूंढता है, item[@type='news'] एट्रिब्यूट पर फ़िल्टर करता है, और item[1] या item[last()] जैसे predicates विशिष्ट नोड चुनते हैं। यही XSLT, कई टेस्ट फ़्रेमवर्क और इस टूल के एवैल्युएटर के पीछे की क्वेरी भाषा है।

XXE क्या है और क्या यह इस टूल को प्रभावित कर सकता है?

XXE (XML External Entity) इंजेक्शन एक DTD entity को फ़ाइल पाथ या URL की ओर इशारा करके दुरुपयोग करता है, जिससे सर्वर-साइड पार्सर उसे फ़ेच कर बैठता है - ऐतिहासिक रूप से /etc/passwd या आंतरिक सेवाएं लीक हुई हैं। ब्राउज़र के XML पार्सर बाहरी entity रिज़ॉल्व नहीं करते, और यह टूल बिना सर्वर राउंड-ट्रिप के पूरी तरह आपके ब्राउज़र में चलता है, इसलिए पेस्ट किया XML फ़ाइल पढ़ना या SSRF ट्रिगर नहीं कर सकता।

DOM और SAX पार्सिंग में क्या अंतर है?

DOM पूरे दस्तावेज़ को एक ट्री में लोड करता है जिसमें आप यादृच्छिक रूप से नेविगेट कर सकते हैं - सहज लेकिन विशाल फ़ाइलों के लिए मेमोरी-भूखा। SAX एक ही पास में इवेंट स्ट्रीम करता है (स्टार्ट टैग, टेक्स्ट, एंड टैग) नियत मेमोरी में - तेज़ लेकिन केवल आगे की ओर। ब्राउज़र JavaScript DOMParser (DOM-शैली) देता है; JavaScript में स्ट्रीमिंग XML के लिए लाइब्रेरी या Web Streams चाहिए।

XML सामग्री के भीतर < या & कैसे शामिल करूं?

साधारण टेक्स्ट में इन्हें &lt; और &amp; के रूप में एस्केप करें - कैरेक्टर डेटा में कच्चा < और & अवैध है। मार्कअप-भरे टेक्स्ट के ब्लॉक के लिए उसे CDATA सेक्शन में लपेटें, जिसमें अंत में ]]> अनुक्रम न आए तब तक कोई एस्केपिंग नहीं चाहिए। सामग्री में केवल < और & अनिवार्य हैं; > को केवल तब एस्केप करना होता है जब वह वही क्लोज़िंग अनुक्रम बनाता हो।

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}