पीएचपी सिंपलएक्सएमएल पार्सर
SimpleXML एक PHP एक्सटेंशन है जो हमें आसानी से हेरफेर करने और XML डेटा प्राप्त करने की अनुमति देता है।
SimpleXML पार्सर
SimpleXML एक ट्री-आधारित पार्सर है।
यदि आप XML दस्तावेज़ की संरचना या लेआउट को जानते हैं तो SimpleXML तत्व का नाम, विशेषताएँ और पाठ्य सामग्री प्राप्त करने का एक आसान तरीका प्रदान करता है।
SimpleXML एक XML दस्तावेज़ को एक डेटा संरचना में बदल देता है जिसे आप सरणियों और वस्तुओं के संग्रह की तरह पुनरावृति कर सकते हैं।
DOM या एक्सपैट पार्सर की तुलना में, SimpleXML किसी तत्व से टेक्स्ट डेटा को पढ़ने के लिए कोड की कम लाइनें लेता है।
इंस्टालेशन
PHP 5 से, SimpleXML फ़ंक्शन PHP कोर का हिस्सा हैं। इन कार्यों का उपयोग करने के लिए किसी स्थापना की आवश्यकता नहीं है।
PHP SimpleXML - स्ट्रिंग से पढ़ें
PHP simplexml_load_string()
फ़ंक्शन का उपयोग स्ट्रिंग से XML डेटा को पढ़ने के लिए किया जाता है।
मान लें कि हमारे पास एक वैरिएबल है जिसमें एक्सएमएल डेटा है, जैसे:
$myXMLData =
"<?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>";
नीचे दिया गया उदाहरण दिखाता है कि simplexml_load_string()
स्ट्रिंग से एक्सएमएल डेटा पढ़ने के लिए फ़ंक्शन का उपयोग कैसे करें:
उदाहरण
<?php
$myXMLData =
"<?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>";
$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
print_r($xml);
?>
उपरोक्त कोड का आउटपुट होगा:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
त्रुटि प्रबंधन युक्ति: दस्तावेज़ लोड करते समय सभी XML त्रुटियों को पुनः प्राप्त करने के लिए libxml कार्यक्षमता का उपयोग करें और फिर त्रुटियों पर पुनरावृति करें। निम्न उदाहरण टूटी हुई XML स्ट्रिंग को लोड करने का प्रयास करता है:
उदाहरण
<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</wrongemail>
</document>";
$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
echo "Failed loading XML: ";
foreach(libxml_get_errors() as $error) {
echo "<br>", $error->message;
}
} else {
print_r($xml);
}
?>
उपरोक्त कोड का आउटपुट होगा:
Failed loading XML:
Opening and ending tag mismatch: user line 3 and wronguser
Opening and ending tag mismatch: email line 4 and wrongemail
PHP SimpleXML - फ़ाइल से पढ़ें
PHP simplexml_load_file()
फ़ंक्शन का उपयोग किसी फ़ाइल से 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>
नीचे दिया गया उदाहरण दिखाता है कि simplexml_load_file()
किसी फ़ाइल से XML डेटा को पढ़ने के लिए फ़ंक्शन का उपयोग कैसे करें:
उदाहरण
<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
print_r($xml);
?>
उपरोक्त कोड का आउटपुट होगा:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
युक्ति: अगला अध्याय दिखाता है कि SimpleXML के साथ XML फ़ाइल से नोड मान कैसे प्राप्त करें/पुनर्प्राप्त करें!
अधिक PHP SimpleXML
PHP SimpleXML फ़ंक्शंस के बारे में अधिक जानकारी के लिए, हमारे PHP SimpleXML संदर्भ पर जाएँ ।