پی ایچ پی میں ایکس ایم ایل کو ایسوسی ایٹو اری میں تبدیل کریں۔

Convert Xml Associative Array Php



ایکس ایم ایل (ایکسٹینسیبل مارک اپ لینگویج) ایک قسم کی مارک اپ لینگویج ہے جو ڈیٹا کو انسانی پڑھنے کے قابل فارمیٹ میں محفوظ کرنے کے لیے استعمال ہوتی ہے۔ یہ دیگر مارک اپ زبانوں سے مختلف ہے۔ اس زبان کا ہر ٹیگ صارف سے متعین ہے۔ XML کا استعمال تھوڑا سا ڈیٹا ذخیرہ کرنے کا بہتر حل ہے جب آپ ڈیٹا کو ذخیرہ کرنے کے لیے کوئی ڈیٹا بیس استعمال نہیں کرنا چاہتے۔ پی ایچ پی سکرپٹ کا استعمال کرتے ہوئے کسی بھی ویب ایپلیکیشن میں ایکس ایم ایل دستاویز کے ڈیٹا تک آسانی سے رسائی حاصل کی جا سکتی ہے۔ اس ٹیوٹوریل میں XML دستاویز کو کس طرح پارس اور ایک ایسوسی ایٹو صف میں محفوظ کیا جاسکتا ہے۔

ضروری افعال۔

کچھ بلٹ ان افعال XML مواد کو ایسوسی ایٹو پی ایچ پی سرنی میں تبدیل کرنے کے لیے استعمال ہوتے ہیں۔ مختلف افعال کے مقاصد ذیل میں بیان کیے گئے ہیں۔







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 ڈیٹا کو تبدیل کرکے ایسوسی ایٹیو پی ایچ پی سرنی لوٹاتا ہے۔ یہ JSON آبجیکٹ متغیر کو بطور دلیل لیتا ہے۔

XML فائل بنائیں۔

آپ کو ایک XML فائل بنانا ہو گی یا XML ڈیٹا کو اسکرپٹ میں بیان کرنا ہو گا تاکہ XML ڈیٹا کو ایسوسی ایٹو پی ایچ پی صف میں تبدیل کرنے کا طریقہ معلوم ہو۔ مندرجہ ذیل مواد کے ساتھ کورسز xml نامی ایک XML فائل بنائیں اور اسے اس مقام پر محفوظ کریں جہاں پی ایچ پی سکرپٹ ہے۔ فائل میں والدین عنصر کے تحت بچے کے عناصر شامل ہیں۔ لہذا ، ایک دو جہتی ایسوسی ایٹو صف تیار ہو گی درج ذیل XML فائل کو PHP سرنی میں تبدیل کرنے کے بعد۔

course.xml

ورژن='1.0'؟>
>
>ویب پروگرامنگ۔>
>6 ماہ>
>
>
>پی ایچ پی پروگرامنگ کی خوشی۔>
>ایلن فوربس۔>
>بیر جزیرہ۔>
>
>
>پی ایچ پیاور ایس کیو ایل نوائس ٹو ننجا۔
ٹام بٹلر اور کیون یانک۔
سائٹ پوائنٹ۔


پہلے پی ایچ پی اور ایس کیو ایل کی سربراہی کریں۔
لین بیگلے اور مائیکل موریسن۔
او ریلی۔


مثال 1: غلطی کی جانچ کیے بغیر XML فائل کے مواد کو ایک ایسوسی ایٹو صف میں تبدیل کریں۔

درج ذیل سکرپٹ XML آبجیکٹ بنانے کے لیے file_get_contents () اور simplexml_load_string () افعال کے استعمال کو دکھاتی ہے۔ یہاں ، course.xml فائل تبادلوں کے لیے استعمال ہوتی ہے جو پہلے بنائی گئی تھی۔ اگلا ، json_encode () اور json_decode () فنکشن XML فائل کے مواد کو تبدیل کرنے کے بعد ایسوسی ایٹو صف حاصل کرنے کے لیے استعمال ہوتا ہے۔ اگر XML مواد میں کوئی خرابی موجود نہیں ہے ، تو مندرجہ ذیل اسکرپٹ کے ذریعہ کوئی خرابی نہیں دکھائی جائے گی۔ یہاں ، | _+_ | ٹیگ کا استعمال سرنی کو فارمیٹ شدہ طریقے سے پرنٹ کرنے کے لیے کیا جاتا ہے۔



// موجودہ XML فائل کی وضاحت کریں۔
$ xml = 'course.xml'؛

// XML فائل کے مکمل مندرجات کو XML سٹرنگ کے طور پر پڑھیں۔
$ xml ڈیٹا۔ = file_get_contents ($ xml)؛

// ایکس ایم ایل سٹرنگ ڈیٹا کو ایکس ایم ایل آبجیکٹ میں تبدیل کریں۔
$ xmlObject۔ = simplexml_load_string ($ xml ڈیٹا۔)؛

// XML آبجیکٹ کو JSON آبجیکٹ میں تبدیل کریں۔
$ jsonObject۔ = json_encode ($ xmlObject۔)؛

// JSON آبجیکٹ کو ایک ایسوسی ایٹو صف میں تبدیل کریں۔
$ assArray = json_decode ($ jsonObject۔، سچ)؛

// ایسوسی ایٹو صف کی ساخت پرنٹ کریں۔
باہر پھینک دیا '
  
'؛

؟>

آؤٹ پٹ:

پی ایچ پی اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، XML فائل ، کورسز xml کے مواد کی بنیاد پر دو جہتی صف تیار کی جاتی ہے۔

مثال 2: XML فائل کے مواد کو چیکنگ ایرر کے ساتھ ایک ایسوسی ایٹو صف میں تبدیل کریں۔

XML کو ایسوسی ایٹو صف میں تبدیل کرتے وقت خرابی کی جانچ کرنا بہتر ہے۔ اگر سکرپٹ میں غلطی کی جانچ پڑتال کی جاتی ہے تو یہ کوڈر کو ڈیبگ کرنے میں مدد کرے گا۔ مندرجہ ذیل سکرپٹ غلطی سے نمٹنے کے ساتھ simplexml_load_file () فنکشن کا استعمال کرتے ہوئے XML فائل کے مواد کو ایک ایسوسی ایٹو صف میں تبدیل کرنے کے طریقے دکھاتا ہے۔ libxml_use_internal_errors () فنکشن غلطی کو سنبھالنے کے لیے TRUE ویلیو کے ساتھ استعمال کیا جاتا ہے۔ اگر سکرپٹ میں استعمال ہونے والے XML فائل کے مواد میں کوئی خرابی ہے تو simplexml_load_file () فنکشن غلط واپس آئے گا ، اور غلطی کا پیغام libxml_get_errors () فنکشن کا استعمال کرکے پرنٹ کیا جائے گا۔ اگر XML فائل میں کوئی خرابی موجود نہیں ہے ، تو فائل کا مواد مناسب طریقے سے دو جہتی ایسوسی ایٹو صف میں تبدیل ہوجائے گا۔



// صارف کی خرابی سے نمٹنے کو فعال کریں۔
libxml_use_internal_errors (سچ۔)؛

// XML آبجیکٹ بنائیں۔
$ objXml = simplexml_load_file ('course.xml')؛

// پرنٹ کی خرابی اگر XML آبجیکٹ غلط واپس آتی ہے۔
اگر ($ objXml === غلط) {
باہر پھینک دیا XML فائل کو پارس کرنے میں غلطیاں ہوئیں۔n'؛
ہر ایک کے لئے( libxml_get_errors () جیسا کہ $ غلطی) {
باہر پھینک دیا $ غلطی->پیغام؛
}
باہر نکلیں ؛
}

// XML آبجیکٹ کو JSON آبجیکٹ میں تبدیل کریں۔
$ objJson = json_encode ($ objXml)؛
// JSON آبجیکٹ کو ایک ایسوسی ایٹو صف میں تبدیل کریں۔
$ assarr = json_decode ($ objJson، سچ۔)؛

// ایسوسی ایٹو صف کی ساخت پرنٹ کریں۔
باہر پھینک دیا '
';  
print_r ($assArray);
echo '
'
؛

؟>

آؤٹ پٹ:

پی ایچ پی اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، XML فائل میں کوئی خرابی موجود نہیں ہے۔ لہذا ، ایک دو جہتی صف نے XML فائل ، کورسز xml کے مواد کی بنیاد پر پچھلی مثال کی طرح پیدا کیا ہے۔

مثال 3: XML مواد کو ایک ایسوسی ایٹو صف میں تبدیل کریں۔

مندرجہ ذیل سکرپٹ ایکس ایم ایل ڈیٹا کو ایک ایسوسی ایٹو صف میں تبدیل کرنے کا طریقہ دکھاتا ہے جس کا استعمال SimpleXMLElement () فنکشن ہے۔ اسکرپٹ میں ، XML مواد $ xml نامی متغیر میں محفوظ ہے جسے فنکشن ، SimpleXMLElement () کی دلیل کے طور پر استعمال کیا جاتا ہے۔ اگلا ، json_encode () اور json_decode () فنکشن XML فائل کے مواد کو تبدیل کرنے کے بعد ایسوسی ایٹو صف حاصل کرنے کے لیے استعمال ہوتا ہے۔



// XML متغیر کی وضاحت کریں۔
$ xml = <<


[ای میل محفوظ]

12 / A ، دھنمندی۔
ڈھاکہ



[ای میل محفوظ]

156 ، شکل۔
ڈھاکہ



[ای میل محفوظ]

21 / بی ، موگبازار۔
ڈھاکہ



XML
؛

// XML آبجیکٹ بنائیں۔
$ xmlObject۔ = نئیSimpleXMLElement۔($ xml)؛
// JSON آبجیکٹ بنائیں۔
$ jsonObject۔ = json_encode ($ xmlObject۔)؛
// JSON آبجیکٹ کو ایک ایسوسی ایٹو صف میں تبدیل کریں۔
$ assArray = json_decode ($ jsonObject۔، سچ)؛

// ایسوسی ایٹو صف کی ساخت پرنٹ کریں۔
باہر پھینک دیا '
';  
print_r ($assarr);
echo '
'
؛

؟>

آؤٹ پٹ:

پی ایچ پی اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ یہاں ، XML متغیر ، $ xml کے مواد کی بنیاد پر دو جہتی صف تیار کی جاتی ہے۔

نتیجہ:

XML مواد کو ایک ایسوسی ایٹو صف میں تبدیل کرنے کے تین مختلف طریقے تھے جو اس ٹیوٹوریل میں دکھائے گئے تھے۔ اس سے قارئین کو ایکس ایم ایل ڈیٹا کے ساتھ کام کرنے کا طریقہ جاننے میں مدد ملے گی اور پی ایچ پی سکرپٹ کا استعمال کرتے ہوئے ایکس ایم ایل مواد سے ڈیٹا کو پارس کرنے میں آسانی ہوگی۔