पीएचपी एक्सएमएल एक्सपैट पार्सर
अंतर्निहित XML एक्सपैट पार्सर PHP में XML दस्तावेज़ों को संसाधित करना संभव बनाता है।
एक्सएमएल एक्सपैट पार्सर
एक्सपैट पार्सर एक इवेंट-आधारित पार्सर है।
निम्नलिखित एक्सएमएल अंश को देखें:
<from>Jani</from>
एक घटना-आधारित पार्सर उपरोक्त एक्सएमएल को तीन घटनाओं की एक श्रृंखला के रूप में रिपोर्ट करता है:
- प्रारंभ तत्व: से
- सीडीएटीए अनुभाग प्रारंभ करें, मान: जानी
- बंद तत्व: से
एक्सएमएल एक्सपैट पार्सर फ़ंक्शन 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 में एक्सएमएल एक्सपैट पार्सर को इनिशियलाइज़ करना चाहते हैं, विभिन्न एक्सएमएल इवेंट्स के लिए कुछ हैंडलर्स को परिभाषित करते हैं और फिर एक्सएमएल फाइल को पार्स करते हैं।
उदाहरण
<?php
// Initialize the XML parser
$parser=xml_parser_create();
// Function to use at the start of an element
function start($parser,$element_name,$element_attrs) {
switch($element_name) {
case "NOTE":
echo "-- Note --<br>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}
// Function to use at the end of an element
function stop($parser,$element_name) {
echo "<br>";
}
// Function to use when finding character data
function char($parser,$data) {
echo $data;
}
// Specify element handler
xml_set_element_handler($parser,"start","stop");
// Specify data handler
xml_set_character_data_handler($parser,"char");
// Open XML file
$fp=fopen("note.xml","r");
// Read data
while ($data=fread($fp,4096)) {
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
// Free the XML parser
xml_parser_free($parser);
?>
उदाहरण समझाया:
- XML पार्सर को
xml_parser_create()
फंक्शन के साथ इनिशियलाइज़ करें - विभिन्न ईवेंट हैंडलर के साथ उपयोग करने के लिए फ़ंक्शन बनाएं
xml_set_element_handler()
यह निर्दिष्ट करने के लिए फ़ंक्शन जोड़ें कि कौन सा फ़ंक्शन निष्पादित किया जाएगा जब पार्सर उद्घाटन और समापन टैग का सामना करता हैxml_set_character_data_handler()
यह निर्दिष्ट करने के लिए फ़ंक्शन जोड़ें कि कौन सा फ़ंक्शन निष्पादित होगा जब पार्सर वर्ण डेटा का सामना करता हैxml_parse()
फ़ंक्शन के साथ "note.xml" फ़ाइल को पार्स करें- किसी त्रुटि के मामले में,
xml_error_string()
XML त्रुटि को टेक्स्ट विवरण में बदलने के लिए फ़ंक्शन जोड़ें xml_parser_free()
फ़ंक्शन के साथ आवंटित मेमोरी को रिलीज़ करने के लिए फ़ंक्शन कोxml_parser_create()
कॉल करें
अधिक PHP XML एक्सपैट पार्सर
PHP एक्सपैट फ़ंक्शन के बारे में अधिक जानकारी के लिए, हमारे PHP XML पार्सर संदर्भ पर जाएँ ।