SimplexML là một phần mở rộng PHP cho phép chúng tôi dễ dàng thao tác và lấy dữ liệu XML. Show
Trình phân tích cú pháp SimplexMLSimplexML là một trình phân tích cú pháp dựa trên cây. SimplexML cung cấp một cách dễ dàng để có được tên, thuộc tính và nội dung văn bản của một phần tử nếu bạn biết cấu trúc hoặc bố cục của tài liệu XML. SimplexML biến một tài liệu XML thành cấu trúc dữ liệu mà bạn có thể lặp lại giống như một tập hợp các mảng và đối tượng. So với DOM hoặc Trình phân tích cú pháp người nước ngoài, SimplexML có ít dòng mã hơn để đọc dữ liệu văn bản từ một phần tử. Cài đặtTừ PHP 5, các hàm simplexml là một phần của lõi PHP. Không cần cài đặt để sử dụng các chức năng này. PHP Simplexml - Đọc từ ChuỗiHàm Php Giả sử chúng ta có một biến chứa dữ liệu XML, như thế này: $ myxmldata = "tove jani nhắc nhở đừng quên tôi vào cuối tuần này!"; Ví dụ dưới đây cho thấy cách sử dụng chức năng Thí dụ$myXMLData = $ xml = SimpleXML_LOAD_STRING ($ myxmldata) hoặc die ("Lỗi: không thể tạo đối tượng"); print_r ($ xml); ?> Chạy ví dụ » Đầu ra của mã ở trên sẽ là: Đối tượng SimplexMlelement ([to] => tove [from] => jani [tiêu đề] => nhắc nhở [Body] => Đừng quên tôi vào cuối tuần này!) Mẹo xử lý lỗi: Sử dụng chức năng LibXML để truy xuất tất cả các lỗi XML khi tải tài liệu và sau đó lặp lại các lỗi. Ví dụ sau cố gắng tải chuỗi XML bị hỏng: Use the libxml functionality to retrieve all XML errors when loading the document and then iterate over the errors. The following example tries to load a broken XML string: Thí dụlibxml_use_internal_errors(true); $ xml = SimpleXML_LOAD_STRING ($ myxmldata) hoặc die ("Lỗi: không thể tạo đối tượng"); print_r ($ xml); ?> Chạy ví dụ » Đầu ra của mã ở trên sẽ là: Đối tượng SimplexMlelement ([to] => tove [from] => jani [tiêu đề] => nhắc nhở [Body] => Đừng quên tôi vào cuối tuần này!) Mẹo xử lý lỗi: Sử dụng chức năng LibXML để truy xuất tất cả các lỗi XML khi tải tài liệu và sau đó lặp lại các lỗi. Ví dụ sau cố gắng tải chuỗi XML bị hỏng:$ xml = simplexml_load_string ($ myxmldata); if ($ xml === false) {& nbsp; echo "tải thất bại xml:"; & nbsp; foreach (libxml_get_errors () là $ error) {& nbsp; & nbsp; & nbsp; echo "", $ error-> tin nhắn; & nbsp; }} khác {& nbsp; print_r ($ xml);}?> Tải thất bại XML: Mở và kết thúc thẻ không phù hợp: Dòng người dùng 3 và Saiseropening và kết thúc thẻ không phù hợp: dòng email 4 và sai PHP Simplexml - Đọc từ tệp Hàm Php Thí dụ $xml=simplexml_load_file("note.xml") or die("Error: Cannot create object"); Chạy ví dụ » Đầu ra của mã ở trên sẽ là: Đối tượng SimplexMlelement ([to] => tove [from] => jani [tiêu đề] => nhắc nhở [Body] => Đừng quên tôi vào cuối tuần này!) Mẹo xử lý lỗi: Sử dụng chức năng LibXML để truy xuất tất cả các lỗi XML khi tải tài liệu và sau đó lặp lại các lỗi. Ví dụ sau cố gắng tải chuỗi XML bị hỏng: The next chapter shows how to get/retrieve node values from an XML file with SimpleXML! $ xml = simplexml_load_string ($ myxmldata); if ($ xml === false) {& nbsp; echo "tải thất bại xml:"; & nbsp; foreach (libxml_get_errors () là $ error) {& nbsp; & nbsp; & nbsp; echo "", $ error-> tin nhắn; & nbsp; }} khác {& nbsp; print_r ($ xml);}?>Tải thất bại XML: Mở và kết thúc thẻ không phù hợp: Dòng người dùng 3 và Saiseropening và kết thúc thẻ không phù hợp: dòng email 4 và sai XML là từ viết tắt của ngôn ngữ đánh dấu 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 thẻ của riêng họ. Trong hướng dẫn này, bạn sẽ học- DOM là từ viết tắt của mô hình đối tượng tài liệu. Nó có một nền tảng chéo và tiêu chuẩn trung tính ngôn ngữ xác định cách truy cập và thao tác dữ liệu trong; DOM XML được sử dụng để truy cập và thao tác các tài liệu XML. Nó xem tài liệu XML như một cấu trúc cây. 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 dữ liệu ký tự (không phân biệt) được sử dụng để bỏ qua các ký tự đặc biệt như là Hồi khi phân tích tài liệu XML. Hãy giả sử rằng bạn đang phát triển một ứng dụng nhận dữ liệu từ dịch vụ web ở định dạng XML. Dưới đây là mẫu của tài liệu XML trông như thế nào. <?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> HERE,
Cách đọc XML bằng PHPBây giờ, hãy để viết mã sẽ đọc tài liệu XML 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>'; } ?> HERE,
Kiểm tra ứng dụng của chúng tôiGiả sử bạn đã lưu tệp index.php trong thư mục phptus/xml, duyệt đến url http: //localhost/phptuts/xml/index.php http://localhost/phptuts/xml/index.php Cách tạo tài liệu XML bằng PHPBây giờ chúng tôi sẽ xem xét cách tạo tài liệu XML bằng PHP. Chúng tôi sẽ sử dụng ví dụ trên trong sơ đồ cây Dom. Mã sau sử dụng PHP được xây dựng trong lớp domdocument để 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"; ?> HERE,
Kiểm tra ứng dụng của chúng tôiGiả sử bạn đã lưu tệp index.php trong thư mục phptus/xml, duyệt đến url http: //localhost/phptuts/xml/index.phphttp://localhost/phptuts/xml/create_movies_list.php Nhấp vào liên kết Phim_List_xml Bản tóm tắt
Làm cách nào để sử dụng tệp XML trong PHP?Cách tạo tài liệu XML bằng PHP.. Tiết $ dom = new domdocument ();Tạo một thể hiện của lớp DomDocument .. Tiết $ Dom-> mã hóa = 'UTF-8';Đặt mã hóa tài liệu thành UTF-8 .. Tiết $ Dom-> xmlversion = '1.0';Chỉ định phiên bản số 1.0 .. Tiết $ DOM-> định dạngtOutput = true;đảm bảo rằng đầu ra được định dạng tốt .. Làm thế nào nhận được dữ liệu từ URL XML trong PHP?$ url = 'http://www.example.com';$ xml = simplexml_load_file ($ url, "simplexmlelement", libxml_nocdata);$ url có thể là tệp PHP, miễn là tệp tạo dữ liệu định dạng XML làm đầu ra.Lưu câu trả lời này. $url can be php file, as long as the file generate xml format data as output. Save this answer.
XML đơn giản trong PHP là gì?SimplexML là một tiện ích mở rộng cho phép chúng tôi dễ dàng thao tác và lấy dữ liệu XML.SimplexML cung cấp một cách dễ dàng để có được tên, thuộc tính và nội dung văn bản của một phần tử nếu bạn biết cấu trúc hoặc bố cục của tài liệu XML.an extension that allows us to easily manipulate and get XML data. SimpleXML provides an easy way of getting an element's name, attributes and textual content if you know the XML document's structure or layout.
Chức năng simplexml_load_file trong PHP là gì?Hàm simplexml_load_file () chuyển đổi một tài liệu XML thành một đối tượng.converts an XML document to an object. |