Ví dụ kiểm tra, thêm, xóa, lấy địa chỉ email từ XML.
XML
Tập tin email.xml
nằm trong thư mục data
có định dạng như sau:
<?xml version="1.0"?> <emails> <email> <value>email1@email.com</value> <date>2016-12-09 04:05:05</date> </email> <email> <value>email1@email.com</value> <date>2016-12-09 04:07:54</date> </email> </emails>
PHP
<?php /* * Kiểm tra email tồn tại */ function check_email($email, $url = './data/email.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 = './data/email.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 = './data/email.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 = './data/email.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); } ?>
Sử dụng
<?php if (!check_email('email3@email.com')) { // Kiểm tra email tồn tại write_email('email3@email.com'); // 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']; } } if (check_email('email3@email.com')) { // Kiểm tra email tồn tại delete_email('email3@email.com'); // Xóa email } ?>
Chúc các bạn thành công!