पीएचपी एक्सएमएल डोम पार्सर
अंतर्निहित DOM पार्सर PHP में XML दस्तावेज़ों को संसाधित करना संभव बनाता है।
एक्सएमएल डोम पार्सर
DOM पार्सर एक ट्री-आधारित पार्सर है।
निम्नलिखित XML दस्तावेज़ अंश को देखें:
<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>
DOM ऊपर दिए गए XML को ट्री स्ट्रक्चर के रूप में देखता है:
- स्तर 1: एक्सएमएल दस्तावेज़
- स्तर 2: मूल तत्व: <से>
- स्तर 3: पाठ तत्व: "जानी"
इंस्टालेशन
डोम पार्सर फ़ंक्शन PHP कोर का हिस्सा हैं। इन कार्यों का उपयोग करने के लिए किसी स्थापना की आवश्यकता नहीं है।
एक्सएमएल फ़ाइल
हमारे उदाहरण में नीचे दी गई XML फ़ाइल ("note.xml") का उपयोग किया जाएगा:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
लोड और आउटपुट एक्सएमएल
हम एक्सएमएल पार्सर को प्रारंभ करना चाहते हैं, एक्सएमएल लोड करना चाहते हैं, और इसे आउटपुट करना चाहते हैं:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
उपरोक्त कोड का आउटपुट होगा:
Tove Jani Reminder Don't forget me this weekend!
यदि आप ब्राउज़र विंडो में "स्रोत देखें" का चयन करते हैं, तो आपको निम्न HTML दिखाई देगा:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
ऊपर दिया गया उदाहरण एक DOMDocument-Object बनाता है और उसमें "note.xml" से XML लोड करता है।
फिर saveXML () फ़ंक्शन आंतरिक XML दस्तावेज़ को एक स्ट्रिंग में रखता है, इसलिए हम इसे आउटपुट कर सकते हैं।
एक्सएमएल के माध्यम से लूपिंग
हम <नोट> तत्व के सभी तत्वों के माध्यम से एक्सएमएल पार्सर को इनिशियलाइज़ करना चाहते हैं, एक्सएमएल और लूप को लोड करना चाहते हैं:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
उपरोक्त कोड का आउटपुट होगा:
#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =
ऊपर के उदाहरण में आप देखते हैं कि प्रत्येक तत्व के बीच खाली टेक्स्ट नोड्स हैं।
जब एक्सएमएल उत्पन्न होता है, तो इसमें अक्सर नोड्स के बीच सफेद-रिक्त स्थान होते हैं। एक्सएमएल डोम पार्सर इन्हें सामान्य तत्वों के रूप में मानता है, और यदि आप उनके बारे में नहीं जानते हैं, तो वे कभी-कभी समस्याएं पैदा करते हैं।
यदि आप XML DOM के बारे में अधिक जानना चाहते हैं, तो कृपया हमारे XML ट्यूटोरियल पर जाएँ ।