Trong bài đăng này, bạn sẽ học cách phân tích cú pháp XML thành một mảng trong PHP. SimpleXML là một phần mở rộng của PHP giúp thực hiện điều này
Trong quá trình phát triển PHP hàng ngày của bạn, đôi khi bạn sẽ cần xử lý nội dung XML. Cho dù đó là xuất dữ liệu dưới dạng tài liệu XML hay xử lý các tài liệu XML đến trong ứng dụng của bạn, luôn có một thư viện có thể thực hiện các thao tác này một cách trơn tru. Khi xử lý XML trong PHP, có nhiều phương pháp khác nhau để lựa chọn. Trên thực tế, có sẵn các tiện ích mở rộng khác nhau trong PHP cho phép bạn đọc và phân tích các tài liệu XML
Trình phân tích cú pháp XML của PHP dựa trên thư viện người nước ngoài của James Clark, đây là thư viện XML hướng luồng được viết bằng C. Thư viện trình phân tích cú pháp XML này cho phép bạn phân tích cú pháp các tài liệu XML nhưng không thể xác thực chúng. Nó dựa trên sự kiện và hướng theo luồng, do đó, nó thực sự hữu ích khi bạn đang xử lý các tệp XML rất lớn—nhưng phức tạp hơn một chút so với mức cần thiết đối với các tệp nhỏ
Tùy chọn khác là tiện ích mở rộng SimpleXML, đây là một trong những tiện ích mở rộng phổ biến nhất được cộng đồng PHP sử dụng để xử lý tài liệu XML. Phần mở rộng SimpleXML cho phép bạn phân tích cú pháp các tài liệu XML rất dễ dàng, giống như bạn đang đọc một tệp bằng PHP
Trong bài viết này, chúng ta sẽ sử dụng phần mở rộng SimpleXML để minh họa cách bạn có thể chuyển đổi nội dung XML thành một mảng. Nếu bạn muốn làm theo ví dụ trong bài viết này, hãy đảm bảo rằng bạn đã cài đặt tiện ích mở rộng SimpleXML trong bản cài đặt PHP của mình
Phần mở rộng SimpleXML PHP
Phần mở rộng SimpleXML PHP cung cấp một bộ công cụ hoàn chỉnh mà bạn có thể sử dụng để đọc, viết và phân tích cú pháp các tài liệu XML trong các ứng dụng PHP của mình. Điều quan trọng cần lưu ý là tiện ích mở rộng SimpleXML yêu cầu tối thiểu PHP 5. Ngoài ra, nó yêu cầu phần mở rộng libxml PHP
Tiện ích mở rộng SimpleXML được bật theo mặc định, nhưng nếu bạn muốn kiểm tra xem tiện ích này có được bật trong bản cài đặt PHP của mình hay không, bạn có thể kiểm tra nhanh tiện ích này bằng cách sử dụng hàm _______
Như bạn có thể thấy, bạn sẽ thấy phần SimpleXML trong đầu ra của hàm
53
Phần mở rộng SimpleXML cung cấp các chức năng khác nhau mà bạn có thể sử dụng để đọc và phân tích nội dung XML
Đang tải một chuỗi hoặc tệp XML bằng SimpleXML
Ví dụ: nếu muốn phân tích cú pháp tệp XML, bạn có thể sử dụng hàm _______055. Hàm
55 cho phép bạn đọc và phân tích cú pháp tệp XML trong một lần gọi. Mặt khác, nếu bạn có một chuỗi XML mà bạn muốn chuyển đổi thành một đối tượng tài liệu XML, bạn có thể sử dụng hàm
57
Bạn cũng có thể sử dụng hàm
58 để đọc nội dung tệp và chuyển chuỗi kết quả tới hàm
57, hàm này cuối cùng sẽ phân tích chuỗi đó thành một đối tượng. Ngoài ra, nếu bạn thích cách hướng đối tượng hơn, bạn cũng có thể sử dụng lớp
60 và các phương thức tiện ích của nó để chuyển đổi một chuỗi XML thành một đối tượng
Trong bài viết này, chúng ta sẽ sử dụng hàm
55 để đọc một tệp XML và chúng ta sẽ xem cách chuyển đổi nó thành một mảng. Tiếp theo, chúng ta sẽ xem qua một ví dụ thực tế để minh họa cách thực hiện việc này
Cách chuyển đổi XML thành một mảng bằng PHP
Trong phần này, chúng ta sẽ xem cách bạn có thể chuyển đổi nội dung XML thành một mảng
Trước hết, hãy xem nhanh các bước bạn cần thực hiện để chuyển đổi nội dung XML thành một mảng với sự trợ giúp của tiện ích mở rộng SimpleXML
- Đọc nội dung tập tin và phân tích chúng. Ở cuối bước này, nội dung được phân tích cú pháp và chuyển đổi thành định dạng đối tượng
- Tiếp theo, bạn cần chuyển đổi đối tượng
- Cuối cùng, bạn cần sử dụng hàm
Đối với mục đích trình diễn, giả sử rằng chúng ta có một tệp XML như trong đoạn mã sau. Chúng tôi sẽ gọi đó là nhân viên. xml. Nó chứa các chi tiết cơ bản của tất cả nhân viên. Mục đích của chúng tôi là chuyển đổi nó thành một mảng mà bạn có thể sử dụng để xử lý thêm
4
6
7
8
9
0
1
2
3
0
1
2
3
4
5
6
7
8
9
60
61
62
63
64
65
66
67
68
1
70
71
72
73
74
75
76
9
78
61
80
81
Như bạn có thể thấy, các nhân viên. file xml chứa tên và email của nhân viên. Điều quan trọng cần lưu ý là giá trị
67 được truyền dưới dạng thuộc tính của thẻ
68
Tiếp theo, tạo Simplexml. tệp php với nội dung sau
4
83
6
85
8
0
88
2
0
91
2
93
4
95
6
97
8
99
60
01
62
03
64
66
06
68
08
70
72
11
74
13
76
15
Hãy xem qua các đoạn quan trọng trong ví dụ trên để hiểu cách thức hoạt động của nó
Đọc và phân tích tệp XML
Đầu tiên, chúng tôi đã sử dụng chức năng
69 để vô hiệu hóa các lỗi libxml tiêu chuẩn và cho phép xử lý lỗi người dùng. Bằng cách này, chúng tôi có thể phát hiện các lỗi XML trong quá trình phân tích cú pháp và hiển thị chúng theo cách thân thiện với người dùng. Điều này cũng thực sự hữu ích trong giai đoạn phát triển
Tiếp theo, chúng tôi đã sử dụng hàm
55 để đọc và phân tích cú pháp các nhân viên. tập tin xml. Đối số đầu tiên của hàm
55 là đường dẫn đến tệp XML. Điều quan trọng cần lưu ý là bạn cần điều chỉnh đường dẫn này khi cần. Trong ví dụ trên, giả định rằng các nhân viên. tệp xml ở cùng cấp thư mục với tệp đơn giản. tập tin php. Nếu tệp XML được phân tích cú pháp thành công, nó sẽ trả về một đối tượng của lớp
60;
Tiếp theo, nếu biến
74 được đặt thành
73, thì đã xảy ra sự cố khi phân tích cú pháp nhân viên. tập tin xml. Trong trường hợp đó, chúng tôi sử dụng hàm
76 để lấy tất cả các lỗi và hiển thị chúng cho mục đích gỡ lỗi. Biến
74 được đặt thành
78 nếu nhân viên. tệp xml được phân tích cú pháp thành công
Chuyển đổi đối tượng
60 thành biểu diễn JSON của nó
Tiếp theo, chúng tôi đã sử dụng hàm
65 để chuyển đổi đối tượng
60 thành biểu diễn JSON của nó. Chúng tôi đã lưu trữ chuỗi JSON trong biến
82, như được hiển thị trong đoạn mã sau
4
06
Giải mã chuỗi JSON thành một mảng
Cuối cùng, chúng tôi đã sử dụng hàm
66 để giải mã dữ liệu chuỗi JSON. Điều quan trọng cần lưu ý là chúng ta đã chuyển
78 trong đối số thứ hai của hàm
66, hàm này chuyển đổi tất cả các đối tượng thành các mảng kết hợp
4
08
Nếu bạn không chuyển
78 trong đối số thứ hai, thì hàm
87 sẽ tạo ra các đối tượng thuộc loại
88 thay vì mảng
Vì vậy, đó là một phác thảo của toàn bộ quá trình. Hãy chạy Simplexml. php và bạn sẽ thấy đầu ra sau
4
21
6
23
8
25
0
27
2
29
0
31
2
33
4
35
6
37
8
39
60
01
62
03
64
05
66
35
68
09
70
11
72
13
74
39
76
17
78
80
20
21
31
23
33
25
35
27
28
29
39
31
32
33
34
35
05
37
35
39
40
41
42
43
44
45
39
47
17
49
50
51
52
Như mong đợi, mảng chứa tất cả các tài liệu. Như bạn có thể nhận thấy, nó cũng đã phân tích cú pháp trường
89, được đính kèm với mỗi tài liệu ở dạng thuộc tính và bạn có thể truy cập nó bằng khóa
90, như thể hiện trong kết quả ở trên. Về cơ bản, mọi thứ đều có sẵn ở dạng cặp khóa-giá trị. Vì vậy, bạn có một mảng hoàn chỉnh theo ý của bạn để xử lý thêm
Vì vậy, đó là cách bạn có thể chuyển đổi nội dung XML thành một mảng trong PHP. Đó là một ví dụ rất đơn giản, nhưng nó sẽ cung cấp cho bạn cái nhìn sâu sắc về toàn bộ quá trình
Phần kết luận
Trong bài viết này, chúng ta đã thảo luận cách chuyển đổi một tệp XML thành một mảng bằng PHP và SimpleXML. Phần mở rộng SimpleXML thực sự hữu ích khi phân tích cú pháp và thao tác với các tài liệu XML.
Tập lệnh PHP tốt nhất trên CodeCanyon
Các thư viện miễn phí trên Packagist rất tuyệt vời cho chức năng cơ bản—nền tảng cho một ứng dụng tốt. Tuy nhiên, để biết thêm các tính năng chuyên biệt hoặc các ứng dụng hoàn chỉnh mà bạn có thể sử dụng và tùy chỉnh, hãy xem các tập lệnh PHP chuyên nghiệp trên CodeCanyon
Khám phá hàng ngàn tập lệnh PHP tốt nhất và hữu ích nhất từng được tạo trên CodeCanyon
Dưới đây là một số tập lệnh PHP bán chạy nhất và sắp ra mắt có sẵn trên CodeCanyon cho năm 2020
19 tập lệnh đặt chỗ và lịch sự kiện PHP tốt nhất. và 3 tùy chọn miễn phí
Monty Shokeen
19 Thg 7 2021
11 Tập lệnh rút ngắn URL PHP tốt nhất [Miễn phí và trả phí]
Monty Shokeen
20 Th06 2022
18 tập lệnh PHP biểu mẫu liên hệ tốt nhất cho năm 2022
Monty Shokeen
11 tháng năm 2022
So sánh 5 Trình tạo biểu mẫu PHP tốt nhất [Và 3 Tập lệnh miễn phí]
Monty Shokeen
28 Thg 11 2021
Tạo biểu mẫu đẹp với PHP Form Builder
Ashraff Hathibelagal
20 Tháng năm 2019
Học PHP với một khóa học trực tuyến miễn phí
Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP
Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những kiến thức cơ bản, học cách PHP hoạt động và viết các hàm và vòng lặp PHP đơn giản. Sau đó, bạn sẽ xây dựng các lớp mã hóa để lập trình hướng đối tượng đơn giản [OOP]
Đồng thời, bạn sẽ học tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web. bạn sẽ có cơ hội thực hành phản hồi các yêu cầu GET và POST, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL