Thao Tác Với XML Trong PHP - Init HTML

  • Tài Nguyên
  • Thao tác với XML trong PHP

Nếu bạn đang gặp khó khăn trong việc lấy dữ liệu từ XML thì bài viết này sẽ giúp bạn dễ dàng quản lý và làm chủ được tập tin XML, ví dụ rất đơn giản nhưng thật sự hữu ích cho những bạn mới lập trình, các bạn đừng nên bỏ qua.

Thao tác với XML trong PHP Mục lục
  • XML
  • PHP
  • Sử dụng

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>[email protected]</value> <date>2016-12-09 04:05:05</date> </email> <email> <value>[email protected]</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('[email protected]')) { // Kiểm tra email tồn tại write_email('[email protected]'); // 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('[email protected]')) { // Kiểm tra email tồn tại delete_email('[email protected]'); // Xóa email } ?>

Chúc các bạn thành công!

0 Chia sẻ

Bài Viết Liên Quan

  • Tự động restart dịch vụ khi gặp lỗi (PHP, MySQL, Nginx)

    Tự động restart dịch vụ khi gặp lỗi (PHP, MySQL, Nginx)

    13/05/2025

  • Thay thế admin-ajax.php bằng REST API + Fetch: Giải pháp nhẹ, nhanh, chuẩn

    Thay thế admin-ajax.php bằng REST API + Fetch: Giải pháp nhẹ, nhanh, chuẩn

    13/05/2025

  • Tạo lệnh WP-CLI tuỳ chỉnh cho WordPress: Hướng dẫn chi tiết với functions.php

    Tạo lệnh WP-CLI tuỳ chỉnh cho WordPress: Hướng dẫn chi tiết với functions.php

    12/05/2025

  • Tạo form frontend không dùng admin-ajax.php, hoàn toàn bằng REST API

    Tạo form frontend không dùng admin-ajax.php, hoàn toàn bằng REST API

    10/05/2025

  • Cách tổ chức mã PHP theo dạng module nhỏ gọn, dễ maintain

    Cách tổ chức mã PHP theo dạng module nhỏ gọn, dễ maintain

    10/05/2025

  • Tạo hệ thống “trang tạm ngưng bảo trì” trong WordPress bằng PHP – không dùng plugin

    Tạo hệ thống “trang tạm ngưng bảo trì” trong WordPress bằng PHP – không dùng plugin

    08/05/2025

  • Tính thời gian đọc bài viết với PHP

    Tính thời gian đọc bài viết với PHP

    06/05/2025

  • Tự động chèn từ khóa nội bộ bằng regex + PHP trong WordPress

    Tự động chèn từ khóa nội bộ bằng regex + PHP trong WordPress

    05/05/2025

  • Highlight từ khóa có hỗ trợ tiếng Việt không dấu sử dụng PHP

    Highlight từ khóa có hỗ trợ tiếng Việt không dấu sử dụng PHP

    04/05/2025

  • Tạo CAPTCHA đơn giản chống spam comment bằng PHP

    Tạo CAPTCHA đơn giản chống spam comment bằng PHP

    04/05/2025

Bình luận

Hủy

Bình luận Tên của bạn Email
  • Không có bình luận.

Mạng xã hội

FacebookPinterestYoutube

Thiết kế website Truyện Tranh - Chan Canvas

Bài viết gần đây

  • Blog Tĩnh #11 – Tùy biến UI: Thẻ tag, tooltip, callout box đẹp mắt chỉ bằng HTML/CSS

    Blog Tĩnh #11 – Tùy biến UI: Thẻ tag, tooltip, callout box đẹp mắt chỉ bằng HTML/CSS

    31/05/2025

  • Tối ưu blog WordPress với Init Plugin Suite – Bộ công cụ nhỏ mà có võ

    Tối ưu blog WordPress với Init Plugin Suite – Bộ công cụ nhỏ mà có võ

    30/05/2025

  • Blog Tĩnh #10 – Tự tạo hệ thống Previous / Next bài viết mà không cần build tool

    Blog Tĩnh #10 – Tự tạo hệ thống Previous / Next bài viết mà không cần build tool

    30/05/2025

  • Bắt sự kiện ils:* trong Init Live Search để tracking, hiệu ứng và mở rộng chức năng

    Bắt sự kiện ils:* trong Init Live Search để tracking, hiệu ứng và mở rộng chức năng

    30/05/2025

  • Init Ad Engine – Plugin hiển thị quảng cáo toàn diện, không giới hạn vị trí cho WordPress

    Init Ad Engine – Plugin hiển thị quảng cáo toàn diện, không giới hạn vị trí cho WordPress

    29/05/2025

  • Tạo giao diện kết quả tùy biến theo loại nội dung trong Init Live Search

    Tạo giao diện kết quả tùy biến theo loại nội dung trong Init Live Search

    29/05/2025

  • Hiển thị kết quả sản phẩm WooCommerce có điều kiện ngay khi bật modal tìm kiếm

    Hiển thị kết quả sản phẩm WooCommerce có điều kiện ngay khi bật modal tìm kiếm

    29/05/2025

  • Blog Tĩnh #09 – Dùng Eleventy để tái sử dụng layout mà vẫn giữ file HTML thuần

    Blog Tĩnh #09 – Dùng Eleventy để tái sử dụng layout mà vẫn giữ file HTML thuần

    29/05/2025

  • Hướng dẫn tạo màn hình khởi đầu (Started Screen) cho Init Live Search

    Hướng dẫn tạo màn hình khởi đầu (Started Screen) cho Init Live Search

    28/05/2025

  • Blog Tĩnh #08 – Tối ưu tốc độ: preload, lazy load, minify…

    Blog Tĩnh #08 – Tối ưu tốc độ: preload, lazy load, minify…

    28/05/2025

Bình luận gần đây

  • Admin QTV 6 ngày trước

    Trong Init Live Search – Plugin tìm kiếm nhanh, nhẹ và thông minh cho WordPress

    Cập nhật: hiện tại trang đã chuyển qua dùng plugin Init Live Search cho tìm...

  • Người Qua Đường 2 tuần trước

    Trong Thư viện hiệu ứng hoa giấy Canvas Confetti

    cái này hay quá, gọn nhẹ dễ dùng 👌

  • Người Qua Đường 2 tuần trước

    Trong 3 trang web Trung Quốc có cực nhiều tài nguyên xịn cho thiết kế

    :v :v :v

  • Người Qua Đường 2 tuần trước

    Trong Tăng tốc công việc với các phím tắt quan trọng trong WordPress

    hợp lí

  • Admin QTV 2 tuần trước

    Trong Init Live Search – Plugin tìm kiếm nhanh, nhẹ và thông minh cho WordPress

    Nguyên lý của plugin này cũng tương tự chức năng tìm kiếm trên trang, các...

  • Admin QTV 2 tuần trước

    Trong Init Code Inserter – Plugin chèn mã vào bình luận WordPress, hỗ trợ PrismJS

    demo một đoạn mã JavaScript nhỏ [code lang="javascript"]document.addEventListener("DOMContentLoaded", function () { const commentBox = document.getElementById("comment");...

  • Người Qua Đường 3 tháng trước

    Trong Tạo ô tìm kiếm nhanh bằng Ajax trong WordPress

    ổn áp 👍

  • Người Qua Đường 3 tháng trước

    Trong Sử dụng mã SVG làm ảnh nền trực tiếp trong CSS

    😜😜😜

  • Người Qua Đường 3 tháng trước

    Trong Tiêu đề bài viết phối trộn nhiều màu sắc với CSS3

    🤪🤪🤪

  • Người Qua Đường 3 tháng trước

    Trong Tích hợp Emoji cho bình luận WordPress với Comment Emojis for WP

    🤙🤙🤙

Tranh Cá 3D - Chan Canvas

Từ khóa » đọc File Xml Trong Php