Phân tích cú pháp xml thành đối tượng php

Đưa ra một tài liệu XML và nhiệm vụ là chuyển đổi một tệp XML thành mảng PHP. Để chuyển đổi tài liệu XML thành mảng PHP, một số hàm PHP được sử dụng được liệt kê bên dưới

  • hàm file_get_contents(). Hàm file_get_contents() được sử dụng để đọc một tệp dưới dạng chuỗi. Chức năng này sử dụng các kỹ thuật ánh xạ bộ nhớ được máy chủ hỗ trợ và do đó nâng cao hiệu suất bằng cách biến nó thành một cách ưa thích để đọc nội dung của tệp
  • hàm Simplexml_load_string(). Đôi khi cần phân tích cú pháp dữ liệu XML trong PHP. Có một số phương pháp có sẵn để phân tích cú pháp dữ liệu XML. SimpleXML là một trong số đó. Phân tích cú pháp tài liệu XML có nghĩa là điều hướng qua tài liệu XML và trả về các mẩu thông tin có liên quan. Ngày nay, một số API trả về dữ liệu ở định dạng JSON nhưng vẫn có một số lượng lớn các trang web trả về dữ liệu ở định dạng XML. Vì vậy, chúng tôi phải thành thạo trong việc phân tích cú pháp một tài liệu XML nếu chúng tôi muốn sử dụng các API có sẵn
  • hàm json_encode(). Hàm json_encode() được sử dụng để mã hóa chuỗi JSON và trả về giá trị biểu diễn JSON
  • hàm json_decode(). Hàm json_decode() dùng để giải mã một chuỗi JSON. Nó chuyển đổi một chuỗi được mã hóa JSON thành một biến PHP

Bước 1. Tạo tệp XML (Tùy chọn). Tạo một tệp XML cần chuyển đổi thành mảng
GFG. xml




xml version='1.0'?>  

<firstnamedb>  

    <xml1 xml2=xml4>  

xml6_______9__________xml8xml9xml8>  

xml6_______9__________version4_______5_______5version4>  

    version9_______4_______1>  

    <xml1 xml2==7>  

xml6_______9__________xml8'1.0'2xml8>  

xml6_______9__________version4_______7_______8version4>  

    version9_______4_______1?>  4

    <xml1 xml2=<0>  

xml6_______9__________xml8<5xml8>  

xml6_______9__________version4firstnamedb1version4>  

    version9_______4_______1?>  4

version9firstnamedb?>  4

Bước 2. Chuyển đổi tệp thành chuỗi. Tệp XML sẽ nhập vào PHP bằng cách sử dụng hàm file_get_contents() đọc toàn bộ tệp dưới dạng chuỗi và lưu vào một biến

Bước 3. Chuyển chuỗi thành đối tượng. Chuyển đổi chuỗi thành đối tượng có thể dễ dàng thực hiện thông qua một số hàm có sẵn simplexml_load_string() của PHP

Bước 4. Chuyển đổi đối tượng thành JSON. Hàm json_encode() được sử dụng để mã hóa chuỗi JSON và trả về giá trị biểu diễn JSON

Bước 5. Giải mã đối tượng JSON. Hàm json_decode() giải mã chuỗi JSON. Nó chuyển đổi một chuỗi được mã hóa JSON thành một biến PHP

Đó là một tiêu chuẩn trung lập về ngôn ngữ và đa nền tảng 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. Nó xem tài liệu XML dưới dạng cấu trúc cây

Trình phân tích cú pháp 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 XML DOM sau đó có thể được thao tác bằng JavaScript, Python và PHP, v.v.

The keyword CDATA which is the acronym for (Unparsed) Character Data is used to ignore special characters such as “<,>” when parsing an XML document.

Tại sao lại sử dụng XML?

  • Các dịch vụ web như SOAP và REST sử dụng định dạng XML để trao đổi thông tin. Tìm hiểu XML là gì và cách thức hoạt động của nó 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à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, giúp nó linh hoạt hơn

Ví dụ về tài liệu 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à mẫu tài liệu XML trông như thế nào




        

            Joe Paul

            CEO

        

        

            Tasha Smith

            Finance Manager

        

ĐÂY,

  • “” specifies the xml version to be used and encoding
  • ” is the root element.
  • …” are the child elements of administration and sales respectively.

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. Mục lục. php

Employees Listing';

$list = $xml->record;

for ($i = 0; $i < count($list); $i++) {

    echo 'Man no: ' . $list[$i]->attributes()->man_no . '
'; echo 'Name: ' . $list[$i]->name . '
'; echo 'Position: ' . $list[$i]->position . '

'; } ?>

ĐÂY,

  • “$xml = simplexml_load_file('employees. xml');” . xml và gán nội dung cho biến mảng $xml
  • “$list = $xml->record;”
  • “for ($i = 0; $i < count(…)…” là vòng lặp for đọc mảng số và xuất kết quả
  • “$list[$i]->attributes()->man_no;”
  • “$list[$i]->tên;”
  • “$list[$i]->vị trí;”

Kiểm tra ứng dụng của chúng tôi

Giả sử bạn đã lưu chỉ mục tệp. php trong thư mục phptus/xml, duyệt đến URL http. //localhost/phptuts/xml/index. php

Phân tích cú pháp xml thành đối tượng php

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

Bây giờ chúng ta sẽ xem 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 lớp DOMDocument để tạo một tài liệu XML

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";
?>

ĐÂY,

  • “$dom = DOMDocument mới();”
  • “$dom->encoding = ‘utf-8’;”
  • “$dom->xmlVersion = '1. 0’;” . 0
  • “$dom->formatOutput = true;”
  • “$root = $dom->createElement(‘Phim’);”
  • “$attr_movie_id = DOMAttr mới(‘movie_id’, ‘5467’);”
  • “$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ử e. g. Tiêu đề. ElementValue đặt giá trị nút con e. g. chiến dịch
  • “$root->appendChild($movie_node);”
  • “$dom->appendChild($root);”
  • “$dom->save($xml_file_name);”
  • “echo ‘’ . $xml_file_name . ‘ has been successfully created’;” creates the link to the XML file.

Kiểm tra ứng dụng của chúng tôi

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

Làm cách nào để chuyển đổi XML thành đối tượng trong PHP?

Hãy xem các bước để chuyển đổi tài liệu XML thành đối tượng java. .
Tạo POJO hoặc liên kết lược đồ và tạo các lớp
Tạo đối tượng JAXBContext
Tạo các đối tượng Unmarshaller
Gọi phương thức không soái ca
Sử dụng các phương thức getter của POJO để truy cập dữ liệu

Bạn sẽ phân tích cú pháp một tài liệu XML bằng PHP như thế nào?

SimpleXML là một phần mở rộng của PHP cho phép chúng ta dễ dàng thao tác và lấy dữ liệu XML. .
Trình phân tích cú pháp SimpleXML. SimpleXML là một trình phân tích cú pháp dựa trên cây. .
Cài đặt. Từ PHP 5, các hàm SimpleXML là một phần của lõi PHP. .
PHP SimpleXML - Đọc từ chuỗi. .
PHP SimpleXML - Đọc từ tệp. .
Thêm PHP SimpleXML

Làm cách nào để phân tích cú pháp mảng XML trong PHP?

Step 1: Creating an XML file (Optional): Create an XML file which need to convert into the array. Step 2: Convert the file into string: XML file will import into PHP using file_get_contents() function which read the entire file as a string and store into a variable.

Làm cách nào để tải chuỗi XML trong PHP?

php $xml = simplexml_load_string("
; Srinivas Chennai India
"); echo $xml->getName() . "
"; foreach($xml->children() as $child) { echo $child->getName() .