Претворите КСМЛ у асоцијативни низ у ПХП -у

Convert Xml Associative Array Php



КСМЛ (Ектенсибле Маркуп Лангуаге) је једна врста језика за означавање који се користи за складиштење података у формату читљивом за људе. Разликује се од других језика за означавање. Сваку ознаку овог језика дефинише корисник. Коришћење КСМЛ -а је боље решење за складиштење мале количине података када не желите да користите било коју базу података за складиштење података. Подаци из КСМЛ документа могу се лако приступити и користити у било којој веб апликацији помоћу ПХП скрипте. Како се КСМЛ документ може рашчланити и складиштити у асоцијативни низ приказано је у овом водичу.

Потребне функције

Неке уграђене функције се користе за претварање КСМЛ садржаја у асоцијативни ПХП низ. Сврхе различитих функција су објашњене у наставку.





филе_гет_цонтентс ():



Ова функција враћа низ података претварањем било којих КСМЛ података. Као аргумент узима било које име КСМЛ датотеке.



симплекмл_лоад_стринг ():





Ова функција враћа КСМЛ објект претварањем података КСМЛ низа. Као аргумент узима податке КСМЛ низа.

симплекмл_лоад_филе ():



Ова функција враћа КСМЛ објект претварањем садржаја КСМЛ датотеке. Име КСМЛ датотеке узима као аргумент.

СимплеКСМЛЕлемент ():

Користи се за креирање КСМЛ објекта од КСМЛ података. Вредност КСМЛ садржаја узима као аргумент.

јсон_енцоде ():

Враћа ЈСОН објект претварањем КСМЛ објекта. За аргумент узима КСМЛ објектну променљиву.

јсон_децоде ():

Враћа асоцијативни ПХП низ конвертовањем ЈСОН података. За аргумент узима ЈСОН објектну променљиву.

Креирајте КСМЛ датотеку

Морат ћете створити КСМЛ датотеку или дефинирати КСМЛ податке у скрипти да бисте знали начин претварања КСМЛ података у асоцијативни ПХП низ. Направите КСМЛ датотеку под називом цоурсес.кмл са следећим садржајем и сачувајте је на локацији на којој се налази ПХП скрипта. Датотека садржи подређене елементе под родитељским елементом. Дакле, дводимензионални асоцијативни низ ће се генерисати након претварања следеће КСМЛ датотеке у ПХП низ.

курсеви.кмл

верзија='1.0'?>
>
>Веб програмирање>
>6 месеци>
>
>
>Радост ПХП програмирања>
>Алан Форбес>
>Плум Исланд>
>
>
>ПХП& МиСКЛ Новице то Ниња
Том Бутлер и Кевин Ианк
СитеПоинт


Водите прво ПХП & МиСКЛ
Линн Беигхлеи & Мицхаел Моррисон
О’Реилли


Пример-1: Претворите садржај КСМЛ датотеке у асоцијативни низ без грешке при провери

Следећа скрипта приказује употребу функција филе_гет_цонтентс () и симплекмл_лоад_стринг () за креирање КСМЛ објекта. Овде се датотека цоурсес.кмл користи за конверзију која је створена раније. Затим се функције јсон_енцоде () и јсон_децоде () користе за добијање асоцијативног низа након конверзије садржаја КСМЛ датотеке. Ако нема грешке у КСМЛ садржају, следећа скрипта неће приказати грешку. Овде, | _+_ | таг се користи за штампање низа на форматиран начин.



// Дефинишите постојећу КСМЛ датотеку
$ кмл = 'цоурсес.кмл';

// Читање целог садржаја КСМЛ датотеке у облику КСМЛ низа
$ кмлДата = филе_гет_цонтентс ($ кмл);

// Претворимо податке КСМЛ низа у КСМЛ објект
$ кмлОбјецт = симплекмл_лоад_стринг ($ кмлДата);

// Претворимо КСМЛ објект у ЈСОН објект
$ јсонОбјецт = јсон_енцоде ($ кмлОбјецт);

// Претворимо ЈСОН објект у асоцијативни низ
$ ассАрраи = јсон_децоде ($ јсонОбјецт, истина);

// Одштампај структуру асоцијативног низа
Избацио '
  
';

?>

Излаз:

Следећи излаз ће се појавити након извршавања ПХП скрипте. Овде се дводимензионални низ генерише на основу садржаја КСМЛ датотеке, цоурсес.кмл.

Пример 2: Претворите садржај КСМЛ датотеке у асоцијативни низ са грешком при провери

Боље је проверити грешку приликом претварања КСМЛ -а у асоцијативни низ. Кодирачу ће помоћи да отклони грешке у коду ако је провера грешака спроведена у скрипти. Следећа скрипта приказује начине претварања садржаја КСМЛ датотеке у асоцијативни низ помоћу функције симплекмл_лоад_филе () са руковањем грешкама. Функција либкмл_усе_интернал_еррорс () се користи са ТРУЕ вредношћу да омогући руковање грешкама. Ако садржај КСМЛ датотеке који се користи у скрипти садржи било коју грешку, функција симплекмл_лоад_филе () ће вратити вредност фалсе, а порука о грешци ће се одштампати помоћу функције либкмл_гет_еррорс (). Ако нема грешке у КСМЛ датотеци, тада ће се садржај датотеке правилно претворити у дводимензионални асоцијативни низ.



// Омогућава руковање грешкама корисника
либкмл_усе_интернал_еррорс (ИСТИНА);

// Креирање КСМЛ објекта
$ објКсмл = симплекмл_лоад_филе ('цоурсес.кмл');

// Штампање грешке ако КСМЛ објекат враћа фалсе
ако ($ објКсмл === ФАЛСЕ) {
Избацио 'Дошло је до грешака при рашчлањивању КСМЛ датотеке. н';
за сваки( либкмл_гет_еррорс () као $ еррор) {
Избацио $ еррор->порука;
}
излаз ;
}

// Претворимо КСМЛ објект у ЈСОН објект
$ објЈсон = јсон_енцоде ($ објКсмл);
// Претворимо ЈСОН објект у асоцијативни низ
$ ассарр = јсон_децоде ($ објЈсон, ИСТИНА);

// Одштампај структуру асоцијативног низа
Избацио '
';  
print_r ($assArray);
echo '
'
;

?>

Излаз:

Следећи излаз ће се појавити након извршавања ПХП скрипте. Овде нема грешке у КСМЛ датотеци. Дакле, дводимензионални низ је генерисао као и претходни пример на основу садржаја КСМЛ датотеке, цоурсес.кмл.

Пример 3: Претворите КСМЛ садржај у асоцијативни низ

Следећа скрипта приказује начин претварања КСМЛ података у асоцијативни низ помоћу функције СимплеКСМЛЕлемент (). У скрипти, КСМЛ садржај је ускладиштен у променљивој под називом $ кмл која се користи као аргумент функције, СимплеКСМЛЕлемент (). Затим се функције јсон_енцоде () и јсон_децоде () користе за добијање асоцијативног низа након конверзије садржаја КСМЛ датотеке.



// Дефинишите КСМЛ променљиву
$ кмл = <<


[заштићена е -пошта]

12 / А, Дханмонди
Дхака



[заштићена е -пошта]

156, Мотив
Дхака



[заштићена е -пошта]

21 / Б, Могбазар
Дхака



КСМЛ
;

// Креирање КСМЛ објекта
$ кмлОбјецт = НоваСимплеКСМЛЕлемент($ кмл);
// Креирање ЈСОН објекта
$ јсонОбјецт = јсон_енцоде ($ кмлОбјецт);
// Претворимо ЈСОН објект у асоцијативни низ
$ ассАрраи = јсон_децоде ($ јсонОбјецт, истина);

// Одштампај структуру асоцијативног низа
Избацио '
';  
print_r ($assarr);
echo '
'
;

?>

Излаз:

Следећи излаз ће се појавити након извршавања ПХП скрипте. Овде се дводимензионални низ генерише на основу садржаја КСМЛ променљиве, $ кмл.

Закључак:

Постоје три различита начина претварања КСМЛ садржаја у асоцијативни низ који је приказан у овом водичу. Ово ће помоћи читаоцима да знају начин рада са КСМЛ подацима и да рашчлане податке из КСМЛ садржаја помоћу једноставне ПХП скрипте.