پی ایچ پی ایکس ایم ال ڈوم

داخل پیسر پی ایچ پی میں XML دستاویز کو سینٹر کرنے کی ممکنات فراہم کرتا ہے。

DOM کیا ہے؟

W3C DOM HTML اور XML دستاویز کیلئے معیاری اوبجیکٹ کا سٹ اور ان دستاویز کی رسائی اور عمل پر مبنی معیاری انٹر فیس فراہم کرتا ہے。

W3C DOM مختلف حصو (کور، XML اور HTML) اور مختلف مراحل (DOM Level 1/2/3) میں تقسیم کیا جاتا ہے:

  • Core DOM - کسی بھی سٹرکچرائزڈ دستاویز کیلئے معیاری اوبجیکٹ کا سٹ
  • XML DOM - XML دستاویز کیلئے معیاری اوبجیکٹ کا سٹ
  • HTML DOM - HTML دستاویز کیلئے معیاری اوبجیکٹ کا سٹ

اگر می‌خواهید اطلاعات بیشتری در مورد XML DOM بدست آورید، لطفاً به وب‌سایت ما آموزش ایکس‌ام‌ایل دام

XML پیسر

اگر آپ کا مقصد پڑھنا اور اپدیت کرنا ہے - دستاویز کو پیدا کرنا اور اس کو سینٹر کرنا، تو آپ کو XML پیسر چاہیے。

دو بنیادی XML پیسر کی قسمیں ہیں:

  • درخت پر مبنی پیسرجس میں XML دستاویز کو درخت شکل کی شکل میں تبدیل کیا جاتا ہے، یہ پورا دستاویز کا تجزیہ کرتا ہے اور آئی پی آئی کو دستیاب کرتا ہے، جیسے DOM (دستاویز اوبجیکٹ ماڈل)。
  • ایک واقعی پیسرجس میں XML دستاویز کو ایک سلسلے کی شکل میں دیکھا جاتا ہے، جب کسی خصوصی واقعہ کو کیا جاتا ہے تو پیسر کو فونکشن کو بلاک کریجیائے تاکہ وہ سینٹر کریجیائے。

DOM پیسر درخت پر مبنی پیسر ہے。

نیچے کی XML دستاویز کی تکه کو دیکھیں:

<?xml version="1.0" encoding="ISO-8859-1"?>
<from> جان </from>

XML DOM XML کو ایک درخت شکل کی شکل میں دیکھتا ہے:

  • مرحلہ 1: XML دستاویز
  • مرحلہ 2: مادری عنصر: <from>
  • مرحلہ 3: متن عناصر: "جان"

نصب

DOM XML پیسر فونکشنز پی ایچ پی کا اکسر پارٹ کا حصہ ہیں، ان کو نصب کرنے کی ضرورت نہیں ہوتی ہے، استعمال کریجیے。

XML فائل

آپ کے مثال میں نیچے کی ایک XML فائل کو استعمال کیا جائے گا:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to> جارج </to>
<from> جان </from>
<heading> یادآوری </heading>
<body>جسوسی نکریجی کا میٹنگ نہ کریجی!</body>
</note>

XML لوڈ کرنا اور نشر کرنا

آپ کے لئے XML پیسر کو شروع کرنا، XML لوڈ کرنا اور اس کو نشر کرنا چاہیے:

مثال

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
پرنٹ $xmlDoc->saveXML();
?>

خروجی کد بالا:

جارج جان یادآوری جسوسی نہ کریجی کا میٹنگ!

اگر آپ برائے منبع کو نشر کرنے والی ویندوز میں دیکھتے ہیں، تو نیچے کی اینکھوں کو دیکھیں:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to> جارج </to>
<from> جان </from>
<heading> یادآوری </heading>
<body>جسوسی نکریجی کا میٹنگ نہ کریجی!</body>
</note>

مثال بالا یک شیء DOMDocument ایجاد می‌کند و XML موجود در فایل "note.xml" را به این شیء بارگذاری می‌کند.

توابع saveXML() یک فایل XML داخلی را در یک رشته قرار می‌دهد، بنابراین می‌توانیم آن را چاپ کنیم.

چرخه XML

ما باید XML پارسر را راه‌اندازی کنیم، XML را بارگذاری کنیم و تمام عناصر داخل عناصر <note> را در یک چرخه بیاییم:

مثال

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
  {
  print $item->nodeName . " = " . $item->nodeValue . "<br />";
  }
?>

خروجی کد بالا:

#text = 
to = جرج
#text = 
from = جان
#text = 
heading = یادآوری
#text = 
body = نگذارید جلسه را فراموش کنید!
#text =

در مثال بالا، شما دیدید که بین هر عنصر یک نود متن خالی وجود دارد.

وقتی XML تولید می‌شود، معمولاً فاصله‌ها بین نودها را شامل می‌شود. پارسر XML DOM آن‌ها را به عنوان عناصر معمولی در نظر می‌گیرد و اگر به آن‌ها توجه نکنید، گاهی اوقات مشکلاتی ایجاد می‌شود.

اگر می‌خواهید اطلاعات بیشتری در مورد XML DOM بدست آورید، لطفاً به وب‌سایت ما آموزش ایکس‌ام‌ایل دام