Đọc ghi dữ liệu XML với php
Như các bạn đã được tìm hiểu về html là “Ngôn ngữ Đánh dấu Siêu văn bản”,trong bài hôm nay chúng ta sẽ tìm hiểu qua 2 ngôn ngữ rất được hay sử dụng cho việc trao đổi và lưu trữ dữ liệu trong lập trình web đó chính là XML.
XML là gì?
– XML(eXtensible Markup Language) là một ngôn ngữ đánh dấu mở rộng, được sử dụng rộng rãi cho việc trao đổi và lưu trữ dữ liệu. Nó cho phép người dùng đánh dấu (mark up) dữ liệu của mình bằng các thẻ do chính người dùng định nghĩa
– Dữ liệu XML được lưu trữ trong các file text có mở rộng là .xml
– Dễ dàng lưu trữ và truy cập, tốc độ truy xuất vào file xml rất nhanh
Cấu trúc file XML
+ Mức cơ bản
<?xml ?>
+ Bao gồm cả phiên bản
<?xml version="1.0"?>
+ Bao gồm cả mã hóa ký tự, cho bộ mã tiêu chuẩn quốc tế Unicode
<?xml version="1.0" encoding="utf-8"?>
– Các thẻ xml cũng có điểm khá giống với các thẻ trong html có thẻ mở và thẻ đóng,và được phần cấp dạng cặp thẻ cha con
– Ví dụ: tạo file books.xml với nội dung:
<?xml version="1.0" encoding="UTF-8"?> <books name=“mynote”> <book> <title>Sống mòn</title> <author>Nam Cao</author> <category>Tiểu thuyết</category> </book> <book> <title>Ba người bạn</title> <author>Nam Cao</author> <category>Truyện ngắn</category> </book> </books>
- Dòng 1 là phần khai báo, nêu rõ phiên bản XML đang sử dụng(bắt buộc) và hệ mã utf8.
- Ngay sau đó là phần thân của file xml, bao gồm các phần từ được xếp lồng vào nhau, do người dùng tự định nghĩa
- Phần tử ngoài cùng, ở đây là phần tử books, bao bọc tất cả các phần tử khác được gọi là phần tử tài liệu(document element) hoặc phần từ gốc (root element)
- Các phần tử bên trong (book) có thể có thêm các phần tử con khác (title, author, category)
Tạo file XML với PHP DOM
– Nếu các bạn đã từng nghiên cứu qua bài viết làm việc với file trong php thì chúng ta hoàn toàn có thể ghi và lấy nội dung trong file 1 cách dễ dàng phải không nào.Nhưng trong dữ liệu dạng XML thì php hỗ trợ riêng thư viện cho việc ghi dữ liệu dưới định dạng XML đó chính là đối tượng DOMDocument.
– Ví dụ:
<?php $xmldoc = new DOMDocument(); $xmldoc->formatOutput = true; $root = $xmldoc->createElement("books"); $xmldoc->appendChild( $root ); $book = $xmldoc->createElement( "book" ); $author = $xmldoc->createElement("author"); $author->appendChild( $xmldoc->createTextNode("Nam Cao") ); $book->appendChild($author); $root->appendChild($book); $xmldoc->save("books.xml"); ?>
– Các bạn thử chạy đoạn code trên và xem kết quả nhé,chúng ta sẽ tạo ra 1 file với tên là books.xml với nội dung như sau (các bạn có thể mở file này bằng trình duyệt IE):
Đọc dữ liệu từ file xml
– Ở ví dụ trước chúng ta đã có thể lưu nội dung vào file XML,và giờ là lúc chúng ta thực hiện đọc nội dung trong file đó.Trong PHP cũng hỗ trợ chúng ta đọc nội dung trong file XML 1 cách rất dễ dàng khi sử dụng extension SimpleXML ,và dữ liệu trả về sẽ ở dưới dạng 1 đối tượng
– Ví dụ: đọc nội dung file books.xml mà vừa tạo ra
<?php //load file xml $xml = simplexml_load_file("books.xml") or die(“Không thể load file XML"); foreach($xml->book as $book) { echo "Tiêu đề: ".$book->title ." - Tác giả: ".$book->author ." - Thể loại: ".$book->category; } ?>
+ Lúc này ta load toàn bộ nội dung trong file books.xml lưu trong đối tượng $xml,sau đó ta chỉ cần dùng vòng lặp foreach để duyệt các phần tử trong đối tượng này.
Kết thúc bài viết: Qua bài này các bạn đã có cái nhìn khái quát về cách đọc ghi dữ liệu vào file XML rồi phải không nào,sang bài sau chúng ta sẽ tìm hiểu sang kiểu dữ liệu khác cũng rất quan trọng đó chính là JSON
Written by Nguyễn Tuấn Vũ
Hocphp.info là website chia sẻ kiến thức lập trình đặt biệt tập trong vào lập trình web. Hi vọng mọi người cùng nhau phát triển và chia sẽ nhiều hơn nữa, ngoài ra mình cũng cố gắng chia sẽ các seri về web cũng như các ngôn ngữ khác chất nhất có thể. có gì thiếu sót hi vọng mọi người bỏ qua.
Bài viết chùng chuyên mục
Categories
- Codeigniter (25)
- Expressjs (2)
- Html & Css (5)
- Javascript & Jquery (13)
- Lập trình ios (12)
- Laravel Framework (15)
- MongoDB (5)
- Nodejs (3)
- Php cơ bản (17)
- Php nâng cao (13)
- SEO và MMO (1)
- Symfony (4)
- Tin công nghệ (2)
- Tổng hợp (13)
Recent Comments
29Mar
2 / By Quả Caching website trong codeigniter framework
Bài viết rất hay, mình hỏi với: Mình dùng framework - codeIgnite nh
07Mar
8 / By phimav Các cách chèn video youtube vào bài viết
ai get link thằng ondrive được không?
28Feb
3 / By Đọc ghi dữ liệu JSON trong php - wikisinhvien Mảng trong PHP
[…] truy cập vào phần tử trong dữ liệu JSON các bạn cũng c
22Jan
3 / By Giới thiệu PHP Framework CodeIgniter - wikisinhvien Mảng trong PHP
[…] Làm việc và xử lý mảng thật […]
07Dec
10 / By admin Mô Hình MVC
Bạn cố gắng tham khảo thêm ở những tài liệu khác, có thời gi
2 Comments
HUY says:
22/11/14 at 18:11:31Một số link trong bài viết vẫn trỏ về localhost/wordpress
Không những ở bài viết này mà ở một số bài viết khác cũng vậy nha bạn
nobitacnt says:
23/11/14 at 09:11:15Đây là do trước mình cập nhật từ localhost lên rồi.Bạn góp ý mình mới thấy,cảm ơn bạn nhiều nhé