TopDev

Các hàm SimpleXML - PHP SimpleXML

minhu 📖 3 phút đọc

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 Book 1 Author 1 Book 2 Author 2 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(''); $book = $xml->addChild('book'); $book->addChild('title', 'New Book'); $book->addChild('author', 'New Author');

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(''); $xml->addAttribute('genre', 'fiction');

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 1984 George Orwell 1949 To Kill a Mockingbird Harper Lee 1960 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ả.

Bài liên quan trong #PHP

✓ Đã sao chép link