PHP XML ट्यूटोरियल: उदाहरण के साथ बनाएँ, पार्स करें, पढ़ें
एक्सएमएल क्या है?
XML, एक्सटेंसिबल मार्कअप लैंग्वेज का संक्षिप्त रूप है।
XML का उपयोग डेटा को संरचित करने, संग्रहीत करने और एक सिस्टम से दूसरे सिस्टम तक ले जाने के लिए किया जाता है।
XML HTML के समान है.
यह आरंभिक और समापन टैग का उपयोग करता है।
HTML के विपरीत, XML उपयोगकर्ताओं को अपने स्वयं के टैग परिभाषित करने की अनुमति देता है।
DOM क्या है?
DOM, डॉक्यूमेंट ऑब्जेक्ट मॉडल का संक्षिप्त रूप है।
यह एक क्रॉस प्लेटफॉर्म और भाषा तटस्थ मानक है जो परिभाषित करता है कि डेटा तक कैसे पहुंचें और उसमें हेरफेर कैसे करें;
- एचटीएमएल
- एक्सएचटीएमएल
- एक्सएमएल
DOM XML का उपयोग XML दस्तावेज़ों तक पहुँचने और उनमें हेरफेर करने के लिए किया जाता है। XML दस्तावेज़ देखता है एक वृक्ष-संरचना के रूप में.
एक्सएमएल पार्सर्स
XML पार्सर एक प्रोग्राम है जो XML दस्तावेज़ को XML डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM) ऑब्जेक्ट में अनुवादित करता है।
XML DOM ऑब्जेक्ट को तब उपयोग करके हेरफेर किया जा सकता है Javaलिखी हुई कहानी, Python, और पीएचपी आदि.
कीवर्ड CDATA जो (अनपार्स्ड) कैरेक्टर डेटा का संक्षिप्त रूप है, का उपयोग XML दस्तावेज़ को पार्स करते समय “<,>” जैसे विशेष वर्णों को अनदेखा करने के लिए किया जाता है।
XML का उपयोग क्यों करें?
- SOAP और REST जैसी वेब सेवाएँ सूचनाओं के आदान-प्रदान के लिए XML प्रारूप का उपयोग करती हैं। XML क्या है और यह कैसे काम करता है, यह जानने से आपको डेवलपर के रूप में प्रतिस्पर्धात्मक लाभ मिलेगा क्योंकि आधुनिक अनुप्रयोग वेब सेवाओं का भारी उपयोग करते हैं।
- XML दस्तावेज़ों का उपयोग किसी एप्लिकेशन की कॉन्फ़िगरेशन सेटिंग्स को संग्रहीत करने के लिए किया जा सकता है
- यह आपको अपने स्वयं के कस्टम टैग बनाने की अनुमति देता है जो इसे अधिक लचीला बनाता है।
XML दस्तावेज़ उदाहरण
मान लीजिए कि आप एक ऐसा अनुप्रयोग विकसित कर रहे हैं जो वेब सेवा से XML प्रारूप में डेटा प्राप्त करता है।
नीचे XML दस्तावेज़ कैसा दिखता है इसका नमूना दिया गया है।
<?xml version="1.0" encoding="utf-8"?> <employees status = "ok"> <record man_no = "101"> <name>Joe Paul</name> <position>CEO</position> </record> <record man_no = "102"> <name>Tasha Smith</name> <position>Finance Manager</position> </record> </employees>
यहाँ,
- “ ” उपयोग किए जाने वाले xml संस्करण और एन्कोडिंग को निर्दिष्ट करता है
- “ ” मूल तत्व है.
- “ … ” क्रमशः प्रशासन और बिक्री के बाल तत्व हैं।
PHP का उपयोग करके XML कैसे पढ़ें
आइए अब वह कोड लिखें जो कर्मचारियों के XML दस्तावेज़ को पढ़ेगा और वेब ब्राउज़र में परिणाम प्रदर्शित करेगा। Index.php
<?php $xml = simplexml_load_file('employees.xml'); echo '<h2>Employees Listing</h2>'; $list = $xml->record; for ($i = 0; $i < count($list); $i++) { echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>'; echo 'Name: ' . $list[$i]->name . '<br>'; echo 'Position: ' . $list[$i]->position . '<br><br>'; } ?>
यहाँ,
- “$xml = simplexml_load_file('employees.xml');” फ़ाइल नाम employees.xml को लोड करने और सामग्री को सरणी चर $xml को असाइन करने के लिए simplexml_load_file फ़ंक्शन का उपयोग करता है।
- “$list = $xml->record;” रिकॉर्ड नोड की सामग्री प्राप्त करता है।
- “for ($i = 0; $i < count(…)…” वह for लूप है जो संख्यात्मक सरणी को पढ़ता है और परिणाम आउटपुट करता है
- “$list[$i]->attributes()->man_no;” तत्व की man_no विशेषता को पढ़ता है
- “$list[$i]->name;” नाम चाइल्ड तत्व का मान पढ़ता है
- “$list[$i]->position;” स्थिति चाइल्ड तत्व का मान पढ़ता है
हमारे एप्लिकेशन का परीक्षण
मान लें कि आपने index.php फ़ाइल को phptus/xml फ़ोल्डर में सहेजा है, तो URL पर ब्राउज़ करें http://localhost/phptuts/xml/index.php
PHP का उपयोग करके XML दस्तावेज़ कैसे बनाएं
अब हम देखेंगे कि PHP का उपयोग करके XML दस्तावेज़ कैसे बनाया जाता है।
हम उपरोक्त उदाहरण का उपयोग DOM ट्री आरेख में करेंगे।
निम्नलिखित कोड एक XML दस्तावेज़ बनाने के लिए PHP में निर्मित DOMDocument क्लास का उपयोग करता है।
<?php $dom = new DOMDocument(); $dom->encoding = 'utf-8'; $dom->xmlVersion = '1.0'; $dom->formatOutput = true; $xml_file_name = 'movies_list.xml'; $root = $dom->createElement('Movies'); $movie_node = $dom->createElement('movie'); $attr_movie_id = new DOMAttr('movie_id', '5467'); $movie_node->setAttributeNode($attr_movie_id); $child_node_title = $dom->createElement('Title', 'The Campaign'); $movie_node->appendChild($child_node_title); $child_node_year = $dom->createElement('Year', 2012); $movie_node->appendChild($child_node_year); $child_node_genre = $dom->createElement('Genre', 'The Campaign'); $movie_node->appendChild($child_node_genre); $child_node_ratings = $dom->createElement('Ratings', 6.2); $movie_node->appendChild($child_node_ratings); $root->appendChild($movie_node); $dom->appendChild($root); $dom->save($xml_file_name); echo "$xml_file_name has been successfully created"; ?>
यहाँ,
- “$dom = new DOMDocument();” DOMDocument वर्ग का एक उदाहरण बनाता है।
- “$dom->encoding = 'utf-8';” दस्तावेज़ एन्कोडिंग को utf-8 पर सेट करता है
- “$dom->xmlVersion = '1.0';” संस्करण संख्या 1.0 निर्दिष्ट करता है
- “$dom->formatOutput = true;” यह सुनिश्चित करता है कि आउटपुट अच्छी तरह से फ़ॉर्मेट किया गया है
- “$root = $dom->createElement('Movies');” Movies नामक रूट नोड बनाता है
- “$attr_movie_id = new DOMAttr('movie_id', '5467');” मूवी नोड की मूवी आईडी विशेषता को परिभाषित करता है
- “$child_node_element_name = $dom->createElement('ElementName', 'ElementValue')” मूवी नोड का चाइल्ड नोड बनाता है। ElementName एलिमेंट का नाम निर्दिष्ट करता है जैसे शीर्षक। ElementValue चाइल्ड नोड मान सेट करता है जैसे अभियान।
- “$root->appendChild($movie_node);” movie_node तत्वों को रूट नोड मूवीज़ में जोड़ता है
- “$dom->appendChild($root);” रूट नोड को XML दस्तावेज़ में जोड़ता है।
- “$dom->save($xml_file_name);” XML फ़ाइल को वेब सर्वर की रूट निर्देशिका में सहेजता है।
- “echo ' ' . $xml_file_name . ' सफलतापूर्वक बनाया गया है';” XML फ़ाइल के लिए लिंक बनाता है।
हमारे एप्लिकेशन का परीक्षण
मान लें कि आपने create_movies_list फ़ाइल को phptuts/xml फ़ोल्डर में सहेजा है, तो URL पर ब्राउज़ करें http://localhost/phptuts/xml/create_movies_list.php
movies_list_xml लिंक पर क्लिक करें
सारांश
- एक्सएमएल एक्सटेंसिबल मार्कअप लैंग्वेज का संक्षिप्त नाम है
- XML का उपयोग प्रणालियों के बीच सूचनाओं के आदान-प्रदान या किसी अनुप्रयोग की कॉन्फ़िगरेशन सेटिंग्स को संग्रहीत करने आदि के लिए किया जा सकता है।
- DOM का मतलब है डॉक्यूमेंट ऑब्जेक्ट मॉडल। XML DOM XML डॉक्यूमेंट को ट्री-स्ट्रक्चर के रूप में देखता है
- XML पार्सर एक प्रोग्राम है जो XML दस्तावेज़ को DOM वृक्ष-संरचना जैसे दस्तावेज़ में अनुवादित करता है।
- CDATA का उपयोग XML दस्तावेज़ों को पार्स करते समय विशेष वर्णों को अनदेखा करने के लिए किया जाता है।
- PHP XML दस्तावेज़ों को पढ़ने और परिणामों को संख्यात्मक सरणी के रूप में वापस करने के लिए simplexml_load_file का उपयोग करता है
- PHP DOMDocument क्लास का उपयोग XML फ़ाइलें बनाने के लिए किया जाता है।