Tuần tự hóa XML Python

pyxser là viết tắt của Python XML Serialization và là một đối tượng Python cho trình tuần tự hóa và trình giải tuần tự XML. Nói cách khác, nó có thể chuyển đổi một đối tượng Python thành XML và đồng thời, chuyển đổi XML đó trở lại thành đối tượng Python ban đầu. Nó sử dụng thuật toán cây duyệt sắp xếp trước trên cây đối tượng và cây XML. Thuật toán là và sử dụng một số kỹ thuật xây dựng trình biên dịch như ghi nhớ để tạo các phiên bản duy nhất của từng phần tử trong cây đối tượng. Nó hỗ trợ các cây đối tượng được tham chiếu chéo và tham chiếu vòng tròn, vì vậy bộ nối tiếp không gặp sự cố với các loại đối tượng đó. Mỗi đối tượng được tuần tự hóa trước khi được giải tuần tự hóa được xác thực dựa trên lược đồ XML pyxser. Nó cũng sử dụng các hàm đệ quy lẫn nhau để tuần tự hóa và giải tuần tự hóa cây đối tượng, nhưng nó có một số tính năng, như đối số độ sâu, cho phép bạn dừng tuần tự hóa/giải tuần tự hóa cây đối tượng tại một số điểm nhất định

XML là một ngôn ngữ đánh dấu được thiết kế để vận chuyển dữ liệu. Nó đã được thực hiện trong khi giữ cho nó tự mô tả trong tâm trí. Cú pháp của XML tương tự như HTML khác với thực tế là các thẻ trong XML không được xác định trước. Điều này cho phép dữ liệu được lưu trữ giữa các thẻ tùy chỉnh trong đó thẻ chứa thông tin chi tiết về dữ liệu và dữ liệu được lưu trữ giữa thẻ mở và thẻ đóng

Ghi chú. Bạn có thể đọc thêm về XML tại đây. XML. Khái niệm cơ bản và XML. cú pháp

Hiện tại, có hai mô-đun chính cho phép tuần tự hóa từ điển Python sang XML. họ đang

Sử dụng dict2xml

Để chuyển đổi nhanh Từ điển Python sang XML, bạn có thể sử dụng dict2xml. Cài đặt nó bằng cách sử dụng.   

$ pip install dict2xml

Bây giờ, giả sử bạn có một Từ điển có tên dữ liệu bằng Python mà bạn muốn chuyển đổi sang XML

Python3




2

  as
  True

7
61

2

  as
  True

7
0
2

  as
  True

7
1
2

  as
  True

7
2
2

  as
  True

7
1

 

 

2

  as
  True

7
4
2

  as
  True

7
5
2

  as
  True

7
6
2

  as
  True

7
7
2

  as
  True

7
8
2

  as
  True

7
9
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
14
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
14
2

  as
  True

7
10
2

  as
  True

7
8
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
11
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
10

 

2

  as
  True

7
11
2

  as
  True

7
5
2

  as
  True

7
13

2

  as
  True

7
14
2

  as
  True

7
15

đầu ra

2

  as
  True

7

Bao quanh phần tử gốc và thụt lề tùy chỉnh 
Giả sử bạn muốn bao quanh câu trả lời xung quanh phần tử gốc và thêm thụt lề 3 dấu cách.

Python3




2

  as
  True

7
61

2

  as
  True

7
17

2

  as
  True

7
0
2

  as
  True

7
1
2

  as
  True

7
2
2

  as
  True

7
1

 

 

2

  as
  True

7
4
2

  as
  True

7
5
2

  as
  True

7
6
2

  as
  True

7
7
2

  as
  True

7
8
2

  as
  True

7
9
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
14
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
14
2

  as
  True

7
10
2

  as
  True

7
8
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
11
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
10

 

2

  as
  True

7
11
2

  as
  True

7
5
2

  as
  True

7
21
2

  as
  True

7
5
2

  as
  True

7
23
2

  as
  True

7
24
2

  as
  True

7
5
2

  as
  True

7
26
2

  as
  True

7
27

2

  as
  True

7
14
2

  as
  True

7
15

đầu ra.  

2

  as
  True

7
1

Dicttoxml

Dict2xml là tốt nhưng nó không có nhiều tùy chọn để chỉ định cách tôi muốn định dạng XML của mình hoặc thêm thuộc tính vào thẻ. dicttoxml có thể được sử dụng cho những mục đích này. Nó cũng hoạt động hoàn hảo trên Dict-like và Iterable Objects. Cài đặt nó qua thiết bị đầu cuối hoặc dấu nhắc lệnh bằng cách gõ.   

2

  as
  True

7
1

hoặc là

2

  as
  True

7
1

Python3




2

  as
  True

7
610

2

  as
  True

7
611

________ 10 ________ 2613 ________ 12 ________ 2613

 

 

2

  as
  True

7
616

2

  as
  True

7
4
2

  as
  True

7
5
2

  as
  True

7
6
2

  as
  True

7
7
2

  as
  True

7
8
2

  as
  True

7
9
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
14
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
14
2

  as
  True

7
10
2

  as
  True

7
8
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
11
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
10

 

2

  as
  True

7
11
2

  as
  True

7
5
2

  as
  True

7
26

2

  as
  True

7
14
2

  as
  True

7
15

đầu ra

b'2asTrue7’

Định dạng đẹp cho đầu ra 
Cho phép định dạng văn bản đẹp để chúng tôi có thể đọc rõ ràng. Python đã có gói sẵn cho việc này.

Python3




2

  as
  True

7
29

2

  as
  True

7
30

________ 10 ________ 132 ________ 12 ________ 134

________ 10 ________ 2613 ________ 12 ________ 2613

 

 

2

  as
  True

7
616

2

  as
  True

7
4
2

  as
  True

7
5
2

  as
  True

7
6
2

  as
  True

7
7
2

  as
  True

7
8
2

  as
  True

7
9
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
14
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
14
2

  as
  True

7
10
2

  as
  True

7
8
2

  as
  True

7
12
2

  as
  True

7
13

2

  as
  True

7
11
2

  as
  True

7
15____18
2

  as
  True

7
17
2

  as
  True

7
10

2

  as
  True

7
11
2

  as
  True

7
10

 

2

  as
  True

7
11
2

  as
  True

7
5
2

  as
  True

7
26

2

  as
  True

7
70
2

  as
  True

7
5
2

  as
  True

7
72

 

2

  as
  True

7
14
2

  as
  True

7
74

đầu ra.  

2

  as
  True

7
61

Xóa thuộc tính loại 
Bạn có thể nhận thấy rằng các thẻ hiện chứa các thuộc tính như type=”int”/”dict”/”str” có thể tắt bằng cách sử dụng attr_type=False 

Chủ Đề