با عرض سلام خدمت کاربران محترم سایت پی وی لرن. در این جلسه قصد داریم تا نحوه گرفتن گره xml در php و خواندن node xml در php را آموزش دهیم. همانطور که پیش تر نیز گفته بودیم، SimpleXML تجزیه کننده ای برای دریافت و پردازش داده های XML می باشد.
گرفتن مقادیر گره از فایل xml به صورت زیر می باشد:
1 2 3 4 5 6 7 | <?php $xml=simplexml_load_file("note.xml") or die("Error: Cannot create object"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?> |
خروجی کد بالا به شکل زیر می باشد:
1 2 3 4 | Tove Jani Reminder Don't forget me this weekend! |
فرض کنید که ما یک فایل دیگر به نام books.xml داریم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?xml version="1.0" encoding="utf-8"?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en-us">XQuery Kick Start</title> <author>James McGovern</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="en-us">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
مثال زیر ابتدا مقدار گره عنصر <title> و بعد <book> را در فایل books.xml می گیرد:
1 2 3 4 5 | <?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); echo $xml->book[0]->title . "<br>"; echo $xml->book[1]->title; ?> |
خروجی کد بالا به شکل زیر است:
1 2 | Everyday Italian Harry Potter |
مثال زیر تمام عناصر <book> فایل books.xml را پیمایش می کند و مقادیر گره های <title> ، <author> ، <year> و <price> را دریافت می کند:
1 2 3 4 5 6 7 8 9 | <?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); foreach($xml->children() as $books) { echo $books->title . ", "; echo $books->author . ", "; echo $books->year . ", "; echo $books->price . "<br>"; } ?> |
خروجی کد بالا به شکل زیر می باشد:
1 2 3 4 | Everyday Italian, Giada De Laurentiis, 2005, 30.00 Harry Potter, J K. Rowling, 2005, 29.99 XQuery Kick Start, James McGovern, 2003, 49.99 Learning XML, Erik T. Ray, 2003, 39.95 |
مثال زیر ابتدا مقادیر ویژگی category اولین عنصر <book> و بعد مقادیر ویژگی lang عنصر <title> در ابتدای دومین عنصر <book> را دریافت می کند:
1 2 3 4 5 | <?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); echo $xml->book[0]['category'] . "<br>"; echo $xml->book[1]->title['lang']; ?> |
خروجی کد بالا به شکل زیر می باشد:
1 2 | COOKING en |
مثال زیر مقادیر ویزگی عنصر <title> را در فایل books.xml می گیرد:
1 2 3 4 5 6 7 | <?php $xml=simplexml_load_file("books.xml") or die("Error: Cannot create object"); foreach($xml->children() as $books) { echo $books->title['lang']; echo "<br>"; } ?> |
خروجی کد بالا به شکل زیر می باشد:
1 2 3 4 | en en en-us en-us |
جلسه گرفتن گره xml در php و آموزش simpleXML در php نیز به پایان رسید.
در جلسه بعد به آموزش تجزیه گر Expat در php خواهیم پرداخت. با ما همراه باشید.
همچنین می توانید نظرات و سوالات خود را از طریق بخش نظرات با ما در میان بگذارید.