Các hàm SimpleXML - PHP SimpleXML
PHP cung cấp một phần mở rộng mạnh mẽ gọi là SimpleXML để làm việc với các tài liệu XML. SimpleXML cho phép bạn dễ dàng đọc, thao tác và xuất các tài liệu XML bằng cách ánh xạ các phần tử XML thành các đối tượng PHP. Dưới đây là các hàm và phương thức chính của SimpleXML cùng với các ví dụ minh họa.
Các hàm chính của SimpleXML#
simplexml_load_string(): Tải một chuỗi XML vào một đối tượng SimpleXMLElement.
`
$xmlString = <<<XML
$xml = simplexml_load_string($xmlString);
echo $xml->book[0]->title; // Book 1 echo $xml->book[1]->author; // Author 2 `
simplexml_load_file(): Tải một tệp XML vào một đối tượng SimpleXMLElement.
` $xml = simplexml_load_file('path/to/file.xml');
echo $xml->book[0]->title; // Tên sách đầu tiên `
simplexml_import_dom(): Chuyển đổi một đối tượng DOMDocument thành một đối tượng SimpleXMLElement.
` $dom = new DOMDocument(); $dom->loadXML($xmlString); $xml = simplexml_import_dom($dom);
echo $xml->book[0]->title; // Book 1 `
Các phương thức chính của SimpleXMLElement#
- Truy cập phần tử con và thuộc tính
` $xml = simplexml_load_string($xmlString);
foreach ($xml->book as $book) { echo $book->title . " by " . $book->author . "\n"; } `
addChild(): Thêm một phần tử con vào đối tượng SimpleXMLElement.
`
$xml = simplexml_load_string('
echo $xml->asXML(); // Xuất XML với phần tử mới `
addAttribute(): Thêm một thuộc tính vào đối tượng SimpleXMLElement.
`
$xml = simplexml_load_string('
echo $xml->asXML(); //
asXML(): Xuất đối tượng SimpleXMLElement thành một chuỗi XML hoặc lưu thành tệp.
$xmlString = $xml->asXML(); $xml->asXML('path/to/output.xml');
xpath(): Thực hiện truy vấn XPath trên đối tượng SimpleXMLElement.
` $xml = simplexml_load_string($xmlString); $result = $xml->xpath('/books/book[author="Author 1"]');
foreach ($result as $book) { echo $book->title; // Book 1 } `
Ví dụ thực tế#
Tải và duyệt qua XML
`
$xmlString = <<<XML
$xml = simplexml_load_string($xmlString);
foreach ($xml->book as $book) { echo "ID: " . $book['id'] . "\n"; echo "Title: " . $book->title . "\n"; echo "Author: " . $book->author . "\n"; echo "Year: " . $book->year . "\n"; echo "-----------------\n"; } `
Thêm và xuất XML
`
$xml = new SimpleXMLElement('
$book = $xml->addChild('book'); $book->addAttribute('id', '1'); $book->addChild('title', '1984'); $book->addChild('author', 'George Orwell'); $book->addChild('year', '1949');
$book2 = $xml->addChild('book'); $book2->addAttribute('id', '2'); $book2->addChild('title', 'To Kill a Mockingbird'); $book2->addChild('author', 'Harper Lee'); $book2->addChild('year', '1960');
echo $xml->asXML(); `
Sử dụng XPath để tìm kiếm trong XML
` $xml = simplexml_load_string($xmlString); $result = $xml->xpath('//book[year=1949]');
foreach ($result as $book) { echo "Title: " . $book->title . "\n"; echo "Author: " . $book->author . "\n"; } `
SimpleXML là một công cụ mạnh mẽ và dễ sử dụng để làm việc với các tài liệu XML trong PHP. Với nó, bạn có thể dễ dàng tải, thao tác và xuất các tài liệu XML một cách trực quan và hiệu quả.