PHP లో XML ను అసోసియేటివ్ అర్రేగా మార్చండి

Convert Xml Associative Array Php



XML (ఎక్స్‌టెన్సిబుల్ మార్కప్ లాంగ్వేజ్) అనేది ఒక రకమైన మార్కప్ లాంగ్వేజ్, ఇది డేటాను మానవ-రీడబుల్ ఫార్మాట్‌లో నిల్వ చేయడానికి ఉపయోగించబడుతుంది. ఇది ఇతర మార్కప్ భాషల నుండి భిన్నంగా ఉంటుంది. ఈ భాష యొక్క ప్రతి ట్యాగ్ వినియోగదారు నిర్వచించబడినది. మీరు డేటాను నిల్వ చేయడానికి ఏదైనా డేటాబేస్‌ను ఉపయోగించకూడదనుకున్నప్పుడు తక్కువ మొత్తంలో డేటాను నిల్వ చేయడానికి XML ని ఉపయోగించడం ఉత్తమ పరిష్కారం. XML డాక్యుమెంట్ నుండి డేటాను PHP స్క్రిప్ట్ ఉపయోగించి ఏదైనా వెబ్ అప్లికేషన్‌లో సులభంగా యాక్సెస్ చేయవచ్చు మరియు ఉపయోగించవచ్చు. ఈ ట్యుటోరియల్‌లో XML డాక్యుమెంట్‌ని ఎలా పార్స్ చేయవచ్చు మరియు అసోసియేటివ్ అర్రేలో స్టోర్ చేయవచ్చు.

అవసరమైన విధులు

XML కంటెంట్‌ను అనుబంధ PHP శ్రేణిగా మార్చడానికి కొన్ని అంతర్నిర్మిత విధులు ఉపయోగించబడతాయి. వివిధ విధుల ప్రయోజనాలు క్రింద వివరించబడ్డాయి.







file_get_contents ():



ఈ ఫంక్షన్ ఏదైనా XML డేటాను మార్చడం ద్వారా స్ట్రింగ్ డేటాను అందిస్తుంది. ఇది ఏదైనా XML ఫైల్ పేరును వాదనగా తీసుకుంటుంది.



simplexml_load_string ():





ఈ ఫంక్షన్ XML స్ట్రింగ్ డేటాను మార్చడం ద్వారా XML ఆబ్జెక్ట్‌ను అందిస్తుంది. ఇది XML స్ట్రింగ్ డేటాను ఆర్గ్యుమెంట్‌గా తీసుకుంటుంది.

simplexml_load_file ():



ఈ ఫంక్షన్ XML ఫైల్ కంటెంట్‌ను మార్చడం ద్వారా XML ఆబ్జెక్ట్‌ను అందిస్తుంది. ఇది XML ఫైల్ పేరును వాదనగా తీసుకుంటుంది.

SimpleXMLElement ():

ఇది XML డేటా నుండి XML ఆబ్జెక్ట్ సృష్టించడానికి ఉపయోగించబడుతుంది. ఇది XML కంటెంట్ విలువను వాదనగా తీసుకుంటుంది.

json_encode ():

ఇది XML వస్తువును మార్చడం ద్వారా JSON వస్తువును అందిస్తుంది. ఇది XML ఆబ్జెక్ట్ వేరియబుల్‌ను ఆర్గ్యుమెంట్‌గా తీసుకుంటుంది.

json_decode ():

ఇది JSON డేటాను మార్చడం ద్వారా అనుబంధ PHP శ్రేణిని అందిస్తుంది. ఇది JSON ఆబ్జెక్ట్ వేరియబుల్‌ను ఆర్గ్యుమెంట్‌గా తీసుకుంటుంది.

XML ఫైల్‌ను సృష్టించండి

XML డేటాను అనుబంధ PHP శ్రేణిగా మార్చే మార్గాన్ని తెలుసుకోవడానికి మీరు XML ఫైల్‌ని సృష్టించాలి లేదా స్క్రిప్ట్‌లోని XML డేటాను నిర్వచించాలి. కింది కంటెంట్‌తో course.xml అనే XML ఫైల్‌ను సృష్టించండి మరియు PHP స్క్రిప్ట్ ఉన్న ప్రదేశంలో నిల్వ చేయండి. ఫైల్‌లో పేరెంట్ ఎలిమెంట్ కింద పిల్లల అంశాలు ఉంటాయి. కాబట్టి, క్రింది XML ఫైల్‌ను PHP శ్రేణిగా మార్చిన తర్వాత రెండు డైమెన్షనల్ అసోసియేటివ్ అర్రే ఉత్పత్తి అవుతుంది.

కోర్సులు. xml

సంస్కరణ: Telugu='1.0'?>
>
>వెబ్ ప్రోగ్రామింగ్>
>6 నెలల>
>
>
>PHP ప్రోగ్రామింగ్ యొక్క ఆనందం>
>అలాన్ ఫోర్బ్స్>
>ప్లం ద్వీపం>
>
>
>PHP& MySQL అనుభవం లేని వ్యక్తి నింజా
టామ్ బట్లర్ & కెవిన్ యాంక్
సైట్ పాయింట్


హెడ్ ​​ఫస్ట్ PHP & MySQL
లిన్ బీగ్లే & మైఖేల్ మోరిసన్
ఓ'రైలీ


ఉదాహరణ -1: లోపం తనిఖీ చేయకుండా XML ఫైల్ కంటెంట్‌ను అనుబంధ శ్రేణిగా మార్చండి

కింది స్క్రిప్ట్ XML ఆబ్జెక్ట్ సృష్టించడానికి file_get_contents () మరియు simplexml_load_string () ఫంక్షన్ల ఉపయోగాలను చూపుతుంది. ఇక్కడ, courses.xml ఫైల్ ఇంతకు ముందు సృష్టించబడిన మార్పిడి కోసం ఉపయోగించబడుతుంది. తరువాత, XML ఫైల్ కంటెంట్‌ను మార్చిన తర్వాత అనుబంధ శ్రేణిని పొందడానికి json_encode () మరియు json_decode () ఫంక్షన్ ఉపయోగించబడతాయి. XML కంటెంట్‌లో లోపం లేనట్లయితే, కింది స్క్రిప్ట్ ద్వారా ఎలాంటి లోపం చూపబడదు. ఇక్కడ, _ _+_ | ఆకృతిని ఫార్మాట్ చేసిన విధంగా ముద్రించడానికి ట్యాగ్ ఉపయోగించబడుతుంది.



// ఇప్పటికే ఉన్న XML ఫైల్‌ని నిర్వచించండి
$ xml = 'courses.xml';

// XML ఫైల్ యొక్క పూర్తి విషయాలను XML స్ట్రింగ్‌గా చదవండి
$ xml డేటా = file_get_contents ($ xml);

// XML స్ట్రింగ్ డేటాను XML ఆబ్జెక్ట్‌గా మార్చండి
$ xmlObject = simplexml_load_string ($ xml డేటా);

// XML వస్తువును JSON వస్తువుగా మార్చండి
$ jsonObject = json_encode ($ xmlObject);

// JSON వస్తువును అనుబంధ శ్రేణిగా మార్చండి
$ assArray = json_decode ($ jsonObject, నిజం);

// అనుబంధ శ్రేణి నిర్మాణాన్ని ముద్రించండి
బయటకు విసిరారు '
  
';

?>

అవుట్‌పుట్:

PHP స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది. ఇక్కడ, XML ఫైల్, కోర్సులు.ఎక్స్ఎమ్ఎల్ కంటెంట్ ఆధారంగా రెండు డైమెన్షనల్ అర్రే రూపొందించబడింది.

ఉదాహరణ -2: XML ఫైల్ కంటెంట్‌ను చెకింగ్ ఎర్రర్‌తో అనుబంధ శ్రేణిగా మార్చండి

XML ను అసోసియేటివ్ అర్రేగా మార్చేటప్పుడు లోపం చెక్ చేయడం మంచిది. స్క్రిప్ట్‌లో ఎర్రర్ చెకింగ్ అమలు చేయబడితే కోడ్‌ని డీబగ్ చేయడానికి ఇది కోడ్‌కి సహాయపడుతుంది. కింది స్క్రిప్ట్ లో XML ఫైల్ కంటెంట్‌ను సింపుల్‌క్సమ్ఎల్_లోడ్_ఫైల్ () ఫంక్షన్‌ను ఎర్రర్ హ్యాండ్లింగ్‌తో ఉపయోగించి అసోసియేటివ్ అర్రేగా మార్చే మార్గాలను చూపుతుంది. దోష నిర్వహణను ప్రారంభించడానికి libxml_use_intern_error () ఫంక్షన్ TRUE విలువతో ఉపయోగించబడుతుంది. స్క్రిప్ట్‌లో ఉపయోగించిన XML ఫైల్ కంటెంట్‌లో ఏదైనా ఎర్రర్ ఉంటే సింపుల్ xml_load_file () ఫంక్షన్ తప్పుగా వస్తుంది, మరియు దోష సందేశం libxml_get_error () ఫంక్షన్ ఉపయోగించి ప్రింట్ చేయబడుతుంది. XML ఫైల్‌లో లోపం లేనట్లయితే, ఫైల్ యొక్క కంటెంట్ సరిగా రెండు డైమెన్షనల్ అసోసియేటివ్ అర్రేగా మారుతుంది.



// వినియోగదారు దోష నిర్వహణను ప్రారంభించండి
libxml_use_ అంతర్గత_అరకాలు (నిజం);

// XML ఆబ్జెక్ట్ సృష్టించండి
$ objectXml = simplexml_load_file ('courses.xml');

// XML ఆబ్జెక్ట్ తప్పుగా ఉంటే ప్రింట్ లోపం
ఉంటే ($ objectXml === తప్పు) {
బయటకు విసిరారు XML ఫైల్‌ని అన్వయించడంలో లోపాలు ఉన్నాయి. n';
ప్రతి( libxml_get_erires () గా $ లోపం) {
బయటకు విసిరారు $ లోపం->సందేశం;
}
బయటకి దారి ;
}

// XML వస్తువును JSON వస్తువుగా మార్చండి
$ ఆబ్జెక్సన్ = json_encode ($ objectXml);
// JSON వస్తువును అనుబంధ శ్రేణిగా మార్చండి
$ assarr = json_decode ($ ఆబ్జెక్సన్, నిజం);

// అనుబంధ శ్రేణి నిర్మాణాన్ని ముద్రించండి
బయటకు విసిరారు '
';  
print_r ($assArray);
echo '
'
;

?>

అవుట్‌పుట్:

PHP స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది. ఇక్కడ, XML ఫైల్‌లో ఎలాంటి లోపం లేదు. కాబట్టి, XML ఫైల్, course.xml కంటెంట్ ఆధారంగా మునుపటి ఉదాహరణ వలె రెండు డైమెన్షనల్ అర్రే రూపొందించబడింది.

ఉదాహరణ -3: XML కంటెంట్‌ను అనుబంధ శ్రేణిగా మార్చండి

SimpleXMLElement () ఫంక్షన్ ఉపయోగించి XML డేటాను అనుబంధ శ్రేణిగా మార్చే మార్గాన్ని క్రింది స్క్రిప్ట్ చూపుతుంది. స్క్రిప్ట్‌లో, XML కంటెంట్ $ xml అనే వేరియబుల్‌లో నిల్వ చేయబడుతుంది, ఇది ఫంక్షన్ యొక్క వాదనగా ఉపయోగించబడుతుంది, SimpleXMLElement (). తరువాత, XML ఫైల్ కంటెంట్‌ను మార్చిన తర్వాత అనుబంధ శ్రేణిని పొందడానికి json_encode () మరియు json_decode () ఫంక్షన్ ఉపయోగించబడతాయి.



// XML వేరియబుల్ నిర్వచించండి
$ xml = <<


[ఇమెయిల్ రక్షించబడింది]

12 / A, ధన్మొండి
ఢాకా



[ఇమెయిల్ రక్షించబడింది]

156, మూలాంశం
ఢాకా



[ఇమెయిల్ రక్షించబడింది]

21 / B, మొగ్‌బజార్
ఢాకా



XML
;

// XML వస్తువును సృష్టించండి
$ xmlObject = కొత్తSimpleXMLElement($ xml);
// JSON ఆబ్జెక్ట్ సృష్టించండి
$ jsonObject = json_encode ($ xmlObject);
// JSON వస్తువును అనుబంధ శ్రేణిగా మార్చండి
$ assArray = json_decode ($ jsonObject, నిజం);

// అనుబంధ శ్రేణి నిర్మాణాన్ని ముద్రించండి
బయటకు విసిరారు '
';  
print_r ($assarr);
echo '
'
;

?>

అవుట్‌పుట్:

PHP స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది. ఇక్కడ, XML వేరియబుల్, $ xml యొక్క కంటెంట్ ఆధారంగా రెండు డైమెన్షనల్ అర్రే రూపొందించబడింది.

ముగింపు:

ఈ ట్యుటోరియల్‌లో చూపిన XML కంటెంట్‌ను అసోసియేటివ్ అర్రేగా మార్చడానికి మూడు విభిన్న మార్గాలు ఉన్నాయి. ఇది పాఠకులకు XML డేటాతో పని చేసే మార్గాన్ని తెలుసుకోవడానికి మరియు PHP స్క్రిప్ట్‌ను సులభంగా ఉపయోగించడం ద్వారా XML కంటెంట్ నుండి డేటాను అన్వయించడానికి సహాయపడుతుంది.