Khi cần tuần tự hóa một mảng PHP, nó có thể được chuyển đổi thành XML, lưu trữ và cũng có thể được truyền đi. Trong quá trình đó, các cặp khóa/phần tử được chuyển đổi thành các nút cấu trúc
Các nút XML được tạo theo tên của các khóa và phần tử mảng được thêm làm nút con cho các nút khóa này
Tôi có một mảng đầu vào hai chiều chứa mảng các cặp khóa/phần tử. Các phần tử mảng bên trong chứa tiêu đề, liên kết và mô tả của bài báo
Trong khi chuyển đổi mảng này thành một tài liệu XML, tôi đã tạo một nút gốc có tên là các mục. Sau đó, tôi lặp lại mảng đầu vào và tạo mục con với các nút tiêu đề, liên kết và mô tả trên mỗi lần lặp
Mã PHP để chuyển đổi mảng thành XML
Mã này có cấu trúc mảng đầu vào được cung cấp cho vòng lặp foreach PHP để lặp lại các phần tử mảng bên trong. Trước khi lặp lại mảng đầu vào, tôi đã tạo một đối tượng cho lớp DOMDocument[] . Đối tượng này được sử dụng để tạo tài liệu XML
Tôi đã tạo phần tử và nối nó vào tài liệu XML với tham chiếu của đối tượng DOMDocument. Sau đó, mảng đầu vào được lặp lại để lấy tiêu đề, liên kết và dữ liệu mô tả cho mỗi lần lặp
khá đơn giảnĐầu tiên, bạn phải tạo mã từ kết quả sẽ là gì sau này.
Templates by BIGtheme NET';
echo base64_encode[$xml];?>
mang lại cho bạn____1_______
Sau đó, bạn sao chép/dán kết quả vào
echo base64_decode[$xml];?>
Lưu ý rằng thuộc tính _attributes
có thể được sử dụng để thêm các giá trị thuộc tính vào nút hiện tại. Nếu bạn cần thêm _attributes
cho nút có một giá trị, chẳng hạn như "giá" trong nút "sản phẩm-1", bạn cần sử dụng _value
để chỉ định giá trị của nút
Để thêm thuộc tính vào gốc không có, hãy xem bên dưới trong "Tùy chọn chuyển đổi"
Product One $9.99 Product Two $12.99
Tùy chọn chuyển đổi
Có một tham số thứ hai tùy chọn cho phương thức
use TimKippDev\ArrayToXmlConverter\ArrayToXmlConverter; ... $data = [ 'product-1' => [ '_attributes' => [ 'key' => 'value' ], 'title' => 'Product One', 'price' => [ '_attributes' => [ 'locale' => 'us' ], '_value' => '$9.99' ] ], 'product-2' => [ 'title' => 'Product Two', 'price' => '$12.99' ] ]; $xml = ArrayToXmlConverter::convert[$data];0 chấp nhận một mảng "tùy chọn" để ghi đè
Một lớp trình phân tích cú pháp XML PHP cung cấp một cách dễ dàng để chuyển đổi XML thành các mảng PHP gốc và ngược lại. Nó không phụ thuộc vào bất kỳ thư viện hoặc tiện ích mở rộng bên ngoài nào đi kèm với PHP. Toàn bộ trình phân tích cú pháp được viết chính xác bằng PHP
Dự án này được duy trì tích cực. Nó được sử dụng trong mã sản xuất của chúng tôi. Nếu bạn phát hiện sự cố, vui lòng cho chúng tôi biết thông qua phần Sự cố trên trang dự án Github của chúng tôi. https. //github. com/greencape/xml-converter/issues
Nói tóm lại, dự án này có ý nghĩa đối với những người muốn đơn giản hóa việc cài đặt và sử dụng PHP của họ, có nhu cầu về một trình phân tích cú pháp XML đơn giản, nhưng không quan tâm nhiều đến tốc độ
Yêu cầu
PHP7. 2+
Cài đặt
nhà soạn nhạc
Chỉ cần thêm một phụ thuộc vào greencape/xml-converter
vào tệp composer.json
của dự án nếu bạn sử dụng Trình soạn thảo để quản lý các phụ thuộc của dự án của mình. Đây là một ví dụ tối thiểu về tệp composer.json
chỉ xác định một phụ thuộc vào Trình chuyển đổi XML