பிஎச்பியில் எக்ஸ்எம்எல்லை துணை வரிசைக்கு மாற்றவும்

Convert Xml Associative Array Php



எக்ஸ்எம்எல் (எக்ஸ்டென்சிபிள் மார்க்அப் லாங்குவேஜ்) என்பது ஒரு வகை மார்க்அப் மொழி ஆகும், இது தரவை மனிதனால் படிக்கக்கூடிய வடிவத்தில் சேமிக்கப் பயன்படுகிறது. இது மற்ற மார்க்அப் மொழிகளிலிருந்து வேறுபட்டது. இந்த மொழியின் ஒவ்வொரு குறிச்சொல்லும் பயனர் வரையறுக்கப்பட்டுள்ளது. எக்ஸ்எம்எல்லைப் பயன்படுத்துவது தரவைச் சேமிக்க எந்த தரவுத்தளத்தையும் பயன்படுத்த விரும்பாதபோது சிறிய அளவிலான தரவைச் சேமிப்பதற்கான சிறந்த தீர்வாகும். எக்ஸ்எம்எல் ஆவணத்திலிருந்து தரவை பிஎச்பி ஸ்கிரிப்டைப் பயன்படுத்தி எந்த இணைய பயன்பாட்டிலும் எளிதாக அணுகலாம் மற்றும் பயன்படுத்தலாம். எக்ஸ்எம்எல் ஆவணத்தை ஒரு துணை வரிசையில் எவ்வாறு பாகுபடுத்தி சேமிக்க முடியும் என்பது இந்த டுடோரியலில் காட்டப்பட்டுள்ளது.

தேவையான செயல்பாடுகள்

சில உள்ளமைக்கப்பட்ட செயல்பாடுகள் XML உள்ளடக்கத்தை ஒரு துணை PHP வரிசையாக மாற்ற பயன்படுகிறது. பல்வேறு செயல்பாடுகளின் நோக்கங்கள் கீழே விளக்கப்பட்டுள்ளன.







file_get_contents ():



இந்த செயல்பாடு எந்த எக்ஸ்எம்எல் தரவையும் மாற்றுவதன் மூலம் சரம் தரவை வழங்குகிறது. இது எந்த எக்ஸ்எம்எல் கோப்பு பெயரையும் ஒரு வாதமாக எடுத்துக்கொள்கிறது.



simplexml_load_string ():





இந்த செயல்பாடு XML சரம் தரவை மாற்றுவதன் மூலம் XML பொருளை வழங்குகிறது. இது XML சரம் தரவை ஒரு வாதமாக எடுத்துக்கொள்கிறது.

simplexml_load_file ():



இந்த செயல்பாடு XML கோப்பு உள்ளடக்கத்தை மாற்றுவதன் மூலம் XML பொருளை வழங்குகிறது. இது XML கோப்பு பெயரை ஒரு வாதமாக எடுத்துக்கொள்கிறது.

SimpleXMLElement ():

எக்ஸ்எம்எல் தரவிலிருந்து எக்ஸ்எம்எல் பொருளை உருவாக்க இது பயன்படுகிறது. இது XML உள்ளடக்க மதிப்பை ஒரு வாதமாக எடுத்துக்கொள்கிறது.

json_encode ():

இது XML பொருளை மாற்றுவதன் மூலம் JSON பொருளை வழங்குகிறது. இது எக்ஸ்எம்எல் பொருள் மாறியை ஒரு வாதமாக எடுத்துக்கொள்கிறது.

json_decode ():

இது JSON தரவை மாற்றுவதன் மூலம் துணை PHP வரிசையை வழங்குகிறது. இது JSON பொருள் மாறியை ஒரு வாதமாக எடுத்துக்கொள்கிறது.

எக்ஸ்எம்எல் கோப்பை உருவாக்கவும்

எக்ஸ்எம்எல் தரவை துணை பிஎச்பி வரிசையாக மாற்றுவதற்கான வழியை அறிய நீங்கள் எக்ஸ்எம்எல் கோப்பை உருவாக்க வேண்டும் அல்லது ஸ்கிரிப்டில் எக்ஸ்எம்எல் தரவை வரையறுக்க வேண்டும். பின்வரும் உள்ளடக்கத்துடன் course.xml என்ற எக்ஸ்எம்எல் கோப்பை உருவாக்கி பிஎச்பி ஸ்கிரிப்ட் இருக்கும் இடத்தில் சேமிக்கவும். கோப்பில் பெற்றோர் உறுப்புகளின் கீழ் குழந்தை கூறுகள் உள்ளன. எனவே, பின்வரும் எக்ஸ்எம்எல் கோப்பை பிஎச்பி வரிசையாக மாற்றிய பின் இரு பரிமாண துணை வரிசை உருவாக்கப்படும்.

படிப்புகள். xml

பதிப்பு='1.0'?>
>
>வலை நிரலாக்கம்>
>6 மாதங்கள்>
>
>
>PHP நிரலாக்கத்தின் மகிழ்ச்சி>
>ஆலன் ஃபோர்ப்ஸ்>
>பிளம் தீவு>
>
>
>PHPநிஞ்ஜாவுக்கு & MySQL புதியவர்
டாம் பட்லர் & கெவின் யாங்க்
தளப்புள்ளி


முதலில் PHP & MySQL க்குச் செல்லவும்
லின் பெய்லி & மைக்கேல் மோரிசன்
ஓ'ரெய்லி


எடுத்துக்காட்டு -1: எக்ஸ்எம்எல் கோப்பின் உள்ளடக்கத்தை பிழையைச் சரிபார்க்காமல் ஒரு துணை வரிசைக்கு மாற்றவும்

பின்வரும் ஸ்கிரிப்ட் XML பொருளை உருவாக்க file_get_contents () மற்றும் simplexml_load_string () செயல்பாடுகளின் பயன்பாடுகளைக் காட்டுகிறது. இங்கே, courses.xml கோப்பு முன்பு உருவாக்கப்பட்ட மாற்றத்திற்குப் பயன்படுத்தப்படுகிறது. அடுத்து, எக்ஸ்எம்எல் கோப்பு உள்ளடக்கத்தை மாற்றிய பின் இணை வரிசையைப் பெற json_encode () மற்றும் json_decode () செயல்பாடு பயன்படுத்தப்படுகிறது. எக்ஸ்எம்எல் உள்ளடக்கத்தில் பிழை இல்லை என்றால், பின்வரும் ஸ்கிரிப்ட் மூலம் எந்த பிழையும் காட்டப்படாது. இங்கே, _ _+_ | வடிவமைக்கப்பட்ட முறையில் வரிசையை அச்சிட டேக் பயன்படுத்தப்படுகிறது.



// தற்போதுள்ள XML கோப்பை வரையறுக்கவும்
$ xml = 'courses.xml';

// XML கோப்பின் முழு உள்ளடக்கத்தையும் XML சரமாகப் படிக்கவும்
$ xmlData = file_get_contents ($ xml);

// எக்ஸ்எம்எல் சரம் தரவை எக்ஸ்எம்எல் பொருளாக மாற்றவும்
$ xml பொருள் = simplexml_load_string ($ xmlData);

// XML பொருளை JSON பொருளாக மாற்றவும்
$ jsonObject = json_encode ($ xml பொருள்);

// JSON பொருளை ஒரு துணை வரிசைக்கு மாற்றவும்
$ assArray = json_decode ($ jsonObject, உண்மை);

// துணை வரிசையின் கட்டமைப்பை அச்சிடுங்கள்
வெளியே எறிந்தார் '
  
';

?>

வெளியீடு:

PHP ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். இங்கே, எக்ஸ்எம்எல் கோப்பின் உள்ளடக்கத்தின் அடிப்படையில் ஒரு இரு பரிமாண வரிசை உருவாக்கப்படுகிறது, course.xml.

எடுத்துக்காட்டு -2: எக்ஸ்எம்எல் கோப்பு உள்ளடக்கத்தை ஒரு பிழை சரிபார்ப்புடன் ஒரு துணை வரிசைக்கு மாற்றவும்

எக்ஸ்எம்எல்லை ஒரு துணை வரிசையாக மாற்றும்போது பிழையைச் சரிபார்ப்பது நல்லது. ஸ்கிரிப்டில் பிழை சரிபார்ப்பு செயல்படுத்தப்பட்டால் குறியீட்டை பிழைதிருத்தம் செய்ய குறியீட்டாளருக்கு இது உதவும். பிழை கையாளுதலுடன் எளிய xml_load_file () செயல்பாட்டைப் பயன்படுத்தி XML கோப்பு உள்ளடக்கத்தை ஒரு துணை வரிசையாக மாற்றுவதற்கான வழிகளை பின்வரும் ஸ்கிரிப்ட் காட்டுகிறது. பிழை கையாளுதலை இயக்குவதற்கு libxml_use_intern_errows () செயல்பாடு TRUE மதிப்புடன் பயன்படுத்தப்படுகிறது. ஸ்கிரிப்டில் பயன்படுத்தப்படும் XML கோப்பு உள்ளடக்கம் ஏதேனும் பிழையைக் கொண்டிருந்தால், simplexml_load_file () செயல்பாடு தவறாகத் திரும்பும், மேலும் libxml_get_error () செயல்பாட்டைப் பயன்படுத்தி பிழை செய்தி அச்சிடப்படும். எக்ஸ்எம்எல் கோப்பில் பிழை இல்லை என்றால், கோப்பின் உள்ளடக்கம் ஒழுங்காக இரு பரிமாண துணை வரிசையாக மாறும்.



// பயனர் பிழை கையாளுதலை இயக்கவும்
libxml_use_ உள்ளார்ந்த_பிரதிகள் (உண்மை);

// எக்ஸ்எம்எல் பொருளை உருவாக்கவும்
$ objectXml = simplexml_load_file ('courses.xml');

// எக்ஸ்எம்எல் பொருள் பொய்யானதாக இருந்தால் அச்சு பிழை
என்றால் ($ objectXml === பொய்) {
வெளியே எறிந்தார் எக்ஸ்எம்எல் கோப்பை பாகுபடுத்துவதில் பிழைகள் இருந்தன. n';
ஒவ்வொரு( libxml_get_error () என $ பிழை) {
வெளியே எறிந்தார் $ பிழை->செய்தி;
}
வெளியேறு ;
}

// XML பொருளை JSON பொருளாக மாற்றவும்
$ ஆப்ஜேசன் = json_encode ($ objectXml);
// JSON பொருளை ஒரு துணை வரிசைக்கு மாற்றவும்
$ அசார் = json_decode ($ ஆப்ஜேசன், உண்மை);

// துணை வரிசையின் கட்டமைப்பை அச்சிடுங்கள்
வெளியே எறிந்தார் '
';  
print_r ($assArray);
echo '
'
;

?>

வெளியீடு:

PHP ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். இங்கே, எக்ஸ்எம்எல் கோப்பில் எந்த பிழையும் இல்லை. எனவே, எக்ஸ்எம்எல் கோப்பின் உள்ளடக்கத்தின் அடிப்படையில் முந்தைய உதாரணத்தைப் போல இரு பரிமாண வரிசை உருவாக்கப்பட்டுள்ளது, course.xml.

எடுத்துக்காட்டு -3: எக்ஸ்எம்எல் உள்ளடக்கத்தை ஒரு துணை வரிசைக்கு மாற்றவும்

SimpleXMLElement () செயல்பாட்டைப் பயன்படுத்தி XML தரவை ஒரு துணை வரிசையாக மாற்றுவதற்கான வழியை பின்வரும் ஸ்கிரிப்ட் காட்டுகிறது. ஸ்கிரிப்டில், எக்ஸ்எம்எல் உள்ளடக்கம் $ xml என்ற மாறியில் சேமிக்கப்படுகிறது, இது செயல்பாட்டின் வாதமாக பயன்படுத்தப்படுகிறது, SimpleXMLElement (). அடுத்து, எக்ஸ்எம்எல் கோப்பு உள்ளடக்கத்தை மாற்றிய பின் இணை வரிசையைப் பெற json_encode () மற்றும் json_decode () செயல்பாடு பயன்படுத்தப்படுகிறது.



// எக்ஸ்எம்எல் மாறியை வரையறுக்கவும்
$ xml = <<


[மின்னஞ்சல் பாதுகாக்கப்பட்டது]

12 / A, தன்மொண்டி
டாக்கா



[மின்னஞ்சல் பாதுகாக்கப்பட்டது]

156, மையக்கருத்து
டாக்கா



[மின்னஞ்சல் பாதுகாக்கப்பட்டது]

21 / பி, மோக்பஜார்
டாக்கா



எக்ஸ்எம்எல்
;

// எக்ஸ்எம்எல் பொருளை உருவாக்கவும்
$ xml பொருள் = புதியSimpleXMLElement($ xml);
// JSON பொருளை உருவாக்கவும்
$ jsonObject = json_encode ($ xml பொருள்);
// JSON பொருளை ஒரு துணை வரிசைக்கு மாற்றவும்
$ assArray = json_decode ($ jsonObject, உண்மை);

// துணை வரிசையின் கட்டமைப்பை அச்சிடுங்கள்
வெளியே எறிந்தார் '
';  
print_r ($assarr);
echo '
'
;

?>

வெளியீடு:

PHP ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும். இங்கே, எக்ஸ்எம்எல் மாறி, $ xml உள்ளடக்கத்தின் அடிப்படையில் இரு பரிமாண வரிசை உருவாக்கப்படுகிறது.

முடிவுரை:

இந்த டுடோரியலில் காட்டப்பட்டுள்ள எக்ஸ்எம்எல் உள்ளடக்கத்தை ஒரு துணை வரிசையாக மாற்றுவதற்கு மூன்று வெவ்வேறு வழிகள் இருந்தன. இது வாசகர்களுக்கு எக்ஸ்எம்எல் தரவோடு வேலை செய்வதற்கான வழியை அறியவும், எச்எம்எல் உள்ளடக்கத்திலிருந்து தரவை ஒரு பிஎச்பி ஸ்கிரிப்டை எளிதாகப் பயன்படுத்தவும் உதவும்.