Tại sao XML được sử dụng trong PHP?

Khi bắt đầu cuộc cách mạng MỚI, mã HTML đóng một vai trò quan trọng và vẫn được tìm thấy trong khoảng 90% tất cả các trang web. Nhưng HTML tập trung vào cách dữ liệu sẽ được trình bày chứ không phải trên chính dữ liệu thực tế. Đây là lý do chính cho việc tạo ra tiêu chuẩn XML - để có một tiêu chuẩn tập trung truyền dữ liệu đơn giản

Nội dung

XML là gì?

XML [eXtensible Markup Language] là ngôn ngữ đánh dấu được phát hành vào cuối những năm 90. Tiêu chuẩn XML được W3C tạo ra để cung cấp một cách dễ sử dụng và được tiêu chuẩn hóa để lưu trữ dữ liệu tự mô tả [dữ liệu tự mô tả là dữ liệu mô tả cả nội dung và cấu trúc của nó]

Điều làm cho XML thực sự mạnh mẽ là sự phổ biến và chấp nhận quốc tế mà nó đã đạt được. Nhiều cá nhân và tập đoàn đã nỗ lực và làm việc chăm chỉ để phát triển giao diện XML cho cơ sở dữ liệu, lập trình, ứng dụng văn phòng, điện thoại di động, v.v. Nhờ sự đóng góp to lớn của họ mà các công cụ tồn tại để thực hiện các chuyển đổi này từ bất kỳ nền tảng nào sang dữ liệu XML được tiêu chuẩn hóa hoặc chuyển đổi XML thành định dạng được nền tảng sử dụng

Sự khác biệt giữa XML và HTML

When you see an XML code you will notice that it is very much like the HTML code. This is, however, not true. In the HTML code, all tags, such as , , , etc, are pre-defined. In XML all the tags used are user-defined, there are no pre-defined ones. Another difference is that an XML file will not do anything on its own. Its only function is to store the data, not manipulate it in any way.

Một ví dụ về tệp XML


Mike
Jenny
Lời nhắc
Mua sữa từ cửa hàng.

Như bạn có thể thấy trong ví dụ trên, mặc dù mã có thể trông giống như HTML, nhưng nó không liên quan gì đến nó. Tất cả các thẻ được xác định tùy chỉnh và tệp XML thực tế sẽ không làm gì cả - đó chỉ là thông tin được bao quanh bởi một số thẻ

XML và PHP

Để tích hợp XML trong ứng dụng PHP, bạn cần sử dụng tiện ích mở rộng Trình phân tích cú pháp XML của PHP. Tiện ích mở rộng được bao gồm trong lõi PHP, do đó, nhà cung cấp dịch vụ lưu trữ web hoặc quản trị viên máy chủ web của bạn không cần cài đặt thêm. Bộ công cụ này cho phép bạn phân tích cú pháp, nhưng không xác thực, các tài liệu XML. Trình phân tích cú pháp XML của PHP hỗ trợ ba mã hóa ký tự nguồn cũng do PHP cung cấp. US-ASCII, ISO-8859-1 và UTF-8. UTF-16 không được hỗ trợ. Tiện ích mở rộng cho phép bạn tạo các trình phân tích cú pháp XML và sau đó chỉ định các trình xử lý cho các sự kiện XML khác nhau. Mỗi trình phân tích cú pháp XML có một số tham số mà bạn có thể điều chỉnh

XML đơn giản



Jake
David
Lời nhắc
Gọi cho tôi tối nay.

Trình phân tích cú pháp XML đơn giản

Trình phân tích cú pháp XML của PHP sử dụng trình phân tích cú pháp XML của Expat. Trình phân tích cú pháp này xem tệp XML dưới dạng một chuỗi các sự kiện và khi một sự kiện xảy ra, nó sẽ gọi một hàm được chỉ định để xử lý sự kiện đó. Do nó là một trình phân tích cú pháp dựa trên sự kiện và nó không xác thực tệp XML, nên nó cung cấp tốc độ xử lý tệp XML tốt hơn so với các trình phân tích cú pháp xác thực, điều này làm cho nó phù hợp hơn cho các ứng dụng web

Trong bài viết này, chúng tôi sẽ hiển thị dữ liệu có trong tệp XML trên trang web bằng PHP thông qua máy chủ XAMPP. PHP là ngôn ngữ kịch bản phía máy chủ, chủ yếu để xử lý dữ liệu web. XML là viết tắt của một ngôn ngữ đánh dấu có thể mở rộng

Yêu cầu

  • máy chủ XAMPP

cú pháp

   
   .....
   

Tiếp cận. Chúng tôi sẽ sử dụng chủ yếu hai chức năng trong mã PHP của chúng tôi. Hàm simplexml_load_file[] được sử dụng để chuyển đổi một tài liệu XML thành một đối tượng

There is a common "trick" often proposed to convert a SimpleXML object to an array, by running it through json_encode[] and then json_decode[]. I'd like to explain why this is a bad idea.

Most simply, because the whole point of SimpleXML is to be easier to use and more powerful than a plain array. For instance, you can write bar->baz['bing'] ?> and it means the same thing as bar[0]->baz[0]['bing'] ?>, regardless of how many bar or baz elements there are in the XML; and if you write bar[0]->baz[0] ?> you get all the string content of that node - including CDATA sections - regardless of whether it also has child elements or attributes. You also have access to namespace information, the ability to make simple edits to the XML, and even the ability to "import" into a DOM object, for much more powerful manipulation. All of this is lost by turning the object into an array rather than reading understanding the examples on this page.

Additionally, because it is not designed for this purpose, the conversion to JSON and back will actually lose information in some situations. For instance, any elements or attributes in a namespace will simply be discarded, and any text content will be discarded if an element also has children or attributes. Sometimes, this won't matter, but if you get in the habit of converting everything to arrays, it's going to sting you eventually.

Of course, you could write a smarter conversion, which didn't have these limitations, but at that point, you are getting no value out of SimpleXML at all, and should just use the lower level XML Parser functions, or the XMLReader class, to create your structure. You still won't have the extra convenience functionality of SimpleXML, but that's your loss.

Mục đích của việc sử dụng XML là gì?

XML là ngôn ngữ đánh dấu dựa trên Ngôn ngữ đánh dấu tổng quát hóa tiêu chuẩn [SGML] được sử dụng để xác định ngôn ngữ đánh dấu. Chức năng chính của XML là tạo định dạng cho dữ liệu được sử dụng để mã hóa thông tin cho tài liệu, bản ghi cơ sở dữ liệu, giao dịch và nhiều loại dữ liệu khác .

Lợi ích chính của XML là gì?

Ưu điểm của XML bao gồm những điều sau. XML sử dụng ngôn ngữ của con người, không phải máy tính . XML có thể đọc và hiểu được, ngay cả với người mới và không khó viết mã hơn HTML. XML hoàn toàn tương thích với Java™ và 100% di động.

Tại sao chúng tôi sử dụng XML thay vì HTML?

Khi hiển thị dữ liệu trong HTML, bạn không cần phải chỉnh sửa tệp HTML khi dữ liệu thay đổi. Với XML, dữ liệu có thể được lưu trữ trong các tệp XML riêng biệt . Với một vài dòng mã JavaScript, bạn có thể đọc một tệp XML và cập nhật nội dung dữ liệu của bất kỳ trang HTML nào.

Chủ Đề