[PHP nâng cao]Hướng dẫn sử dụng SimpleXML trong PHP

Xin chào các bạn! Hôm nay edu.com.vn sẽ hướng dẫn các bạn sử dụng SimpleXML để đọc file XML trong PHP.

SimpleXML

SimpleXML giúp việc đọc XML như là 1 đối tượng trong PHP và ngược lại. SimpleXML đọc cấu trúc XML và tìm ra các thành phần. Phần mở rộng SimpleXML yêu cầu PHP5 hoặc cao hơn và được bật mặc định.

Đọc file XML

Đầu tiên chúng ta tạo file XML với cấu trúc như sau với mục đích lưu trữ thông tin về 1 lớp học lập trình PHP nâng cao:

<?xml version="1.0" encoding="UTF-8"?>
<subject>
	<title>PHP Advanced</title>
	<time>2.5 months</time>
	<class>PHP-01</class>
</subject>

Chúng ta tạo file PHP để đọc và hiển thị đối tượng với SimpleXML:

<?php
$xml = simplexml_load_file('it.xml');
print_r($xml);
?>

Kết quả khi thực thi đoạn mã PHP trên:

SimpleXMLElement Object ( [title] => PHP Advanced [time] => 2.5 months [class] => PHP-01 )

Hiển thị nội dung cho từng thành phần trong file XML với đoạn code sau:

<?php
$xml = simplexml_load_file('it.xml');

echo 'Subject: ' . $xml->title . '<br />';
echo 'Time: ' . $xml->time . '<br />';
echo 'Class: ' . $xml->class . '<br />';
?>

Kết quả khi thực thi đoạn mã trên:

Subject: PHP Advanced
Time: 2.5 months
Class: PHP-01

 Tạo file XML với SimpleXML

Chúng ta sử dụng đoạn mã sau đây để tạo file XML với nội dung được lưu trữ trong mảng nhiều chiều:

<?php

$subjects_arr = array(
    array(
        'title' => 'PHP Basic',
        'time' => '2 months',
        'class' => 'PHP-01'),
    array(
        'title' => 'PHP Advanced',
        'time' => '2.5 months',
        'class' => 'PHP-02'));

$xml = new SimpleXMLElement('<it/>');

foreach($subjects_arr as $item){
    $subject = $xml->addChild('subject');
    foreach($item as $key => $value){
        $tmp = $subject->addChild($key);
        $tmp->{0} = $value;
    }
}

$xml->asXML('its.xml');

?>

Khi thực thi đoạn chương trình trên, chúng ta sẽ tạo ra file ‘its.xml’ như sau:

<?xml version="1.0"?>
<it>
	<subject>
		<title>PHP Basic</title>
		<time>2 months</time>
		<class>PHP-01</class>
	</subject>
	<subject>
		<title>PHP Advanced</title>
		<time>2.5 months</time>
		<class>PHP-02</class>
	</subject>
</it>

Trên đây là các ví dụ về cách sử dụng phần mở rộng SimpleXML trong PHP. Chúc các bạn thành công.