× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

PHP XML: Tạo, phân tích cú pháp ví dụ trong PHP XML

21/05/2021 01:38

(PHP XML) XML là từ viết tắt của Ngôn ngữ đánh dấu có thể mở rộng. XML được sử dụng để cấu trúc, lưu trữ và vận chuyển dữ liệu từ hệ thống này sang hệ thống khác. XML tương tự như HTML. Nó sử dụng các thẻ mở và đóng. Không giống như HTML, XML cho phép người dùng xác định các thẻ của riêng họ. Trong bài viết này, bạn sẽ tìm hiểu về DOM, XML và một số cú pháp và cách sử  dụng của PHP XML. 



 

Tìm hiểu về PHP XML

DOM là gì?

DOM là từ viết tắt của Document Object Model.

Đó là một tiêu chuẩn trung lập về ngôn ngữ và nền tảng chéo xác định cách truy cập và thao tác dữ liệu trong;

  • HTML
  • XHTML
  • XML

DOM XML được sử dụng để truy cập và thao tác các tài liệu XML. DOM xem các tài liệu XML như một cấu trúc cây (tree-structure).

Trình phân tích cú pháp PHP XML 

Trình phân tích cú pháp XML là một chương trình dịch tài liệu XML thành Đối tượng Mô hình Đối tượng Tài liệu XML (DOM).

Đối tượng DOM XML sau đó có thể được thao tác bằng JavaScript, Python và PHP, v.v.

Từ khóa CDATA là từ viết tắt của (Unparsed) Dữ liệu ký tự được sử dụng để bỏ qua các ký tự đặc biệt như “<,>” khi phân tích cú pháp một tài liệu XML.

Tại sao bạn nên sử dụng PHP XML?

  • Các dịch vụ web như SOAP và REST sử dụng định dạng XML để trao đổi thông tin. Học XML là gì và nó hoạt động như thế nào sẽ giúp bạn có lợi thế cạnh tranh với tư cách là nhà phát triển vì các ứng dụng hiện đại sử dụng nhiều dịch vụ web.
  • Các tài liệu XML có thể được sử dụng để lưu trữ các cài đặt cấu hình của một ứng dụng
  • Nó cho phép bạn tạo các thẻ tùy chỉnh của riêng mình để làm cho nó linh hoạt hơn.

>>> Đọc thêm: Các loại toán tử trong PHP - Sơ lược về toán tử trong PHP

Ví dụ về tài liệu PHP XML

Giả sử rằng bạn đang phát triển một ứng dụng lấy dữ liệu từ một dịch vụ web ở định dạng XML.

Dưới đây là ví dụ về giao diện của tài liệu XML.a

<?xml version="1.0" encoding="utf-8"?>

<employees status = "ok">

     <record man_no = "101">

         <name>Joe Paul</name>

         <position>CEO</position>

     </record>

     <record man_no = "102">

         <name>Tasha Smith</name>

         <position>Finance Manager</position>

        </record>

</employees>

Trong đó:

  • “<? Xml version =" 1.0 "encoding =" utf-8 "?>" Chỉ định phiên bản xml được sử dụng và mã hóa
  • “<Staff status =" ok ">" là phần tử gốc.
  •  “<Record…>… </record>” lần lượt là các phần tử con của quản trị và bán hàng.

 

>>> Đọc thêm: Mảng trong PHP - Tìm hiểu về các loại mảng trong PHP

Cách đọc XML bằng PHP

Bây giờ chúng ta hãy viết mã sẽ đọc tài liệu XML của nhân viên và hiển thị kết quả trong trình duyệt web. Index.php

<?php
$xml = simplexml_load_file('employees.xml');
echo '<h2>Employees Listing</h2>';
$list = $xml->record;
for ($i = 0; $i < count($list); $i++) {
echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>';

echo 'Name: ' . $list[$i]->name . '<br>';

echo 'Position: ' . $list[$i]->position . '<br><br>';
}
?>

Trong đó,

  • “$ Xml = simplexml_load_file ('nhân viên.xml');" sử dụng hàm simplexml_load_file để tải tên tệp worker.xml và gán nội dung cho biến mảng $ xml.
  • “$ List = $ xml-> record;” lấy nội dung của nút bản ghi.
  •  “For ($ i = 0; $ i <count (…)…” là vòng lặp for đọc mảng số và xuất kết quả
  • “$ List [$ i] -> thuộc tính () -> man_no;” đọc thuộc tính man_no của phần tử
  • “$ List [$ i] -> name;” đọc giá trị của phần tử con tên
  • “$ List [$ i] -> vị trí;” đọc giá trị của phần tử con vị trí

Cách tạo tài liệu XML bằng PHP

Bây giờ chúng ta sẽ xem xét cách tạo một tài liệu XML bằng PHP.

Chúng ta sẽ sử dụng ví dụ trên trong sơ đồ cây DOM.

Đoạn mã sau sử dụng PHP được xây dựng trong DOMDocument lớp để tạo tài liệu XML.

<?php
$dom = new DOMDocument();
$dom->encoding = 'utf-8';
$dom->xmlVersion = '1.0';
$dom->formatOutput = true;
$xml_file_name = 'movies_list.xml';
$root = $dom->createElement('Movies');
$movie_node = $dom->createElement('movie');
$attr_movie_id = new DOMAttr('movie_id', '5467');
$movie_node->setAttributeNode($attr_movie_id);
$child_node_title = $dom->createElement('Title', 'The Campaign');
$movie_node->appendChild($child_node_title);
$child_node_year = $dom->createElement('Year', 2012);
$movie_node->appendChild($child_node_year);
$child_node_genre = $dom->createElement('Genre', 'The Campaign');
$movie_node->appendChild($child_node_genre);
$child_node_ratings = $dom->createElement('Ratings', 6.2);
$movie_node->appendChild($child_node_ratings);
$root->appendChild($movie_node);
$dom->appendChild($root);
$dom->save($xml_file_name);
echo "$xml_file_name has been successfully created";
?>

Trong đó:

  • “$ Dom = new DOMDocument ();” tạo một thể hiện của lớp DOMDocument.
  • “$ Dom-> encoding = 'utf-8';” đặt mã hóa tài liệu thành utf-8
  • “$ Dom-> xmlVersion = '1.0';” chỉ định số phiên bản 1.0
  • “$ Dom-> formatOutput = true;” đảm bảo rằng đầu ra được định dạng tốt
  • “$ Root = $ dom-> createElement ('Phim');" tạo nút gốc có tên Phim
  • “$ Attr_movie_id = new DOMAttr ('movie_id', '5467');" xác định thuộc tính id phim của nút Phim
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” tạo nút con của nút Phim. ElementName chỉ định tên của phần tử, ví dụ: Title. ElementValue đặt giá trị nút con, ví dụ: Chiến dịch.
  • “$ Root-> appendChild ($ movie_node);” nối các phần tử movie_node vào nút gốc Phim
  • “$ Dom-> appendChild ($ root);” nối nút gốc vào tài liệu XML.
  • “$ Dom-> save ($ xml_file_name);” lưu tệp XML trong thư mục gốc của máy chủ web.
  • “Echo '<a href= "'.$xml_file_name.'">'. $ xml_file_name. '</a> đã được tạo thành công'; ” tạo liên kết đến tệp XML.

Kiểm tra ứng dụng của bạn

Giả sử bạn đã lưu tệp create_movies_list trong thư mục phptuts / xml, hãy duyệt đến URL http: //localhost/phptuts/xml/create_movies_list.php

Nhấp vào liên kết phim_list_xml

Kết luận: 

XML là từ viết tắt của Ngôn ngữ đánh dấu có thể mở rộng, sử dụng để trao đổi thông tin giữa các hệ thống hoặc lưu trữ cài đặt cấu hình của ứng dụng,... Trên đây là một số hướng dẫn về PHP XML, hy vọng các thông tin này hữu ích với bạn trong quá trình làm việc với PHP. Tìm hiểu thêm về PHP và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H bạn nhé!