Hướng dẫn php xml library - thư viện phpxml
Ngày đăng:
19/11/2022
Trả lời:
0
Lượt xem:
90
Bài viết này sẽ hướng dẫn bạn cách đọc dữ liệu XML trong PHP. Ví dụ kiểm tra, thêm, xóa, lấy địa chỉ email từ XML. Các file dưới đây nằm trong cùng thư mục. File emails.xmlxml version="1.0"?> <emails> <email> <value>value> <date>2019-12-08 05:05:05date> email> <email> <value>value> <date>2019-12-09 06:06:06date> email> emails> File proccess.phpphp
/*
* Kiểm tra email tồn tại
*/
function check_email($email, $url = 'emails.xml') {
$doc = new DOMDocument('1.0');
$doc->load($url);
$emails = $doc->getElementsByTagName('email');
foreach ($emails as $e) {
$val = $e->getElementsByTagName('value');
if ($email == $val->item(0)->nodeValue) {
return true;
}
}
return false;
}
/*
* Thêm email
*/
function write_email($email, $url = 'emails.xml') {
$xml = simplexml_load_file($url);
$entry = $xml->addChild('email');
$entry->addChild('value', $email);
$entry->addChild('date', date('Y-m-d H:i:s', time()));
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$doc->preserveWhiteSpace = true;
$doc->loadXML($xml->asXML(), LIBXML_NOBLANKS);
$doc->save($url);
}
/*
* Lấy danh sách email
*/
function get_emails($url = 'emails.xml') {
$doc = new DOMDocument('1.0');
$doc->load($url);
$emails = $doc->getElementsByTagName('email');
$email_list = [];
foreach ($emails as $e) {
$val = $e->getElementsByTagName('value');
$dat = $e->getElementsByTagName('date');
$email_list[] = array(
'email' => $val->item(0)->nodeValue,
'date' => $dat->item(0)->nodeValue,
);
}
return $email_list;
}
/*
* Xóa email
*/
function delete_email($email, $url = 'emails.xml') {
$doc = new DOMDocument('1.0');
$doc->load($url);
$the_document = $doc->documentElement;
$emails = $the_document->getElementsByTagName('email');
$node = null;
foreach ($emails as $e) {
$val = $e->getElementsByTagName('value');
if ($email == $val->item(0)->nodeValue) {
$node = $e;
break;
}
}
if ($node != null) {
$the_document->removeChild($node);
}
$doc->save($url);
}
//Tiến hành thực thi
if (!check_email('')) { // Kiểm tra email tồn tại
write_email(''); // Thêm email
}
$data = get_emails();
if ($data) {
foreach ($data as $row) {
// Xuất danh sách email
echo $row['email'];
echo ' thêm ngày ';
echo $row['date']." Kết quả: thêm ngày 2019-12-08 05:05:05 thêm ngày 2019-12-09 06:06:06 thêm ngày 2020-09-06 07:00:01 |