PHP SimpleXML - รับค่าโหนด/แอตทริบิวต์
SimpleXML คือส่วนขยาย PHP ที่ช่วยให้เราจัดการและรับข้อมูล XML ได้อย่างง่ายดาย
PHP SimpleXML - รับค่าโหนด
รับค่าโหนดจากไฟล์ " note.xml ":
ตัวอย่าง
<?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;
?>
ผลลัพธ์ของโค้ดด้านบนจะเป็น:
Tove
Jani
Reminder
Don't forget me this weekend!
ไฟล์ XML อื่น
สมมติว่าเรามีไฟล์ XML ชื่อ " books.xml " ซึ่งมีลักษณะดังนี้:
<?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>
PHP SimpleXML - รับค่าโหนดขององค์ประกอบเฉพาะ
ตัวอย่างต่อไปนี้รับค่าโหนดขององค์ประกอบ <title> ในองค์ประกอบ <book> ที่หนึ่งและที่สองในไฟล์ "books.xml":
ตัวอย่าง
<?php
$xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
echo $xml->book[0]->title . "<br>";
echo $xml->book[1]->title;
?>
ผลลัพธ์ของโค้ดด้านบนจะเป็น:
Everyday Italian
Harry Potter
PHP SimpleXML - รับค่าโหนด - Loop
ตัวอย่างต่อไปนี้จะวนซ้ำองค์ประกอบ <book> ทั้งหมดในไฟล์ "books.xml" และรับค่าโหนดขององค์ประกอบ <title>, <author>, <year> และ <price>
ตัวอย่าง
<?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>";
}
?>
ผลลัพธ์ของโค้ดด้านบนจะเป็น:
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
PHP SimpleXML - รับค่าแอตทริบิวต์
ตัวอย่างต่อไปนี้รับค่าแอตทริบิวต์ของแอตทริบิวต์ "category" ขององค์ประกอบ <book> แรกและค่าแอตทริบิวต์ของแอตทริบิวต์ "lang" ขององค์ประกอบ <title> ในองค์ประกอบ <book> ที่สอง:
ตัวอย่าง
<?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'];
?>
ผลลัพธ์ของโค้ดด้านบนจะเป็น:
COOKING
en
PHP SimpleXML - รับค่าแอตทริบิวต์ - Loop
ตัวอย่างต่อไปนี้รับค่าแอตทริบิวต์ขององค์ประกอบ <title> ในไฟล์ "books.xml":
ตัวอย่าง
<?php
$xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
foreach($xml->children() as $books) {
echo $books->title['lang'];
echo "<br>";
}
?>
ผลลัพธ์ของโค้ดด้านบนจะเป็น:
en
en
en-us
en-us
เพิ่มเติม PHP SimpleXML
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน PHP SimpleXML โปรดไปที่ PHP SimpleXML Referenceของเรา