Chúng ta có thể chuyển đổi XML thành JSON bằng Python không?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách chuyển đổi dữ liệu XML thành dữ liệu JSON và cũng như cách chuyển đổi tệp XML thành dữ liệu JSON trong Python

XML [Extensible Markup Language] là một ngôn ngữ đánh dấu như HTML và được sử dụng để lưu trữ và vận chuyển dữ liệu. Mặt khác, JSON [JavaScript Object Notation] là một định dạng dữ liệu phổ biến được sử dụng để thao tác dữ liệu. Thông thường, các nhà phát triển thích JSON hơn XML. Vì vậy, chúng ta phải học cách chuyển đổi từ XML sang JSON. Nhưng việc chuyển đổi sẽ dễ dàng nếu chúng ta chuyển đổi XML sang từ điển Python và sau đó từ từ điển Python sang JSON

Có lẽ bạn là một sinh viên cần hỗ trợ mã hóa?

Chuyển XML sang JSON bằng Python

Chúng tôi có thể chuyển đổi XML sang từ điển Python bằng cách sử dụng mô-đun 'xmltodict'. Vì vậy, trước hết, bạn nên cài đặt ‘xmltodict’ bằng cách sử dụng lệnh ‘pip‘ từ dấu nhắc lệnh như thế này

pip install xmltodict

Ảnh chụp màn hình của kết quả được đưa ra dưới đây

Bây giờ trong python nhàn rỗi, chúng ta phải nhập 'xmltodict' và 'json' như hình bên dưới

import xmltodict
import json

Bây giờ để chuyển đổi XML sang từ điển Python, chúng tôi sử dụng phương thức 'phân tích cú pháp' của mô-đun 'xmltodict' và để chuyển đổi từ điển Python thành JSON, chúng tôi sử dụng phương thức 'dumps' của mô-đun 'json'. Xem đoạn mã dưới đây

import xmltodict
import json

xml='''
        Codespeedy
        
Related to programming
You can learn easily from codespeedy ''' my_dict=xmltodict.parse[xml] json_data=json.dumps[my_dict] print[json_data]

đầu ra

{"website": {"name": "Codespeedy", "article": "Related to programming", "message": "You can learn easily from codespeedy"}}

Trong đoạn mã trên, dữ liệu XML 'xml' được chuyển đổi thành từ điển 'my_dict' bằng phương thức 'parse' và 'my_dict' được chuyển đổi thành dữ liệu JSON json_data' bằng phương thức 'dumps'

Chuyển đổi tệp XML thành JSON trong Python

Hãy xem xét tệp XML sau được lưu dưới dạng 'my_xml. xml'

    Codespeedy
    
Related to programming
    You can learn easily from codespeedy

Đầu tiên, chúng ta nên mở ‘. xml’ bằng chức năng ‘mở‘ và sau đó sử dụng chức năng ‘read[]‘ để đọc nội dung tệp. Bây giờ chúng ta có thể chuyển đổi nó thành JSON giống như cách chúng ta đã làm trước đó

XML [Ngôn ngữ đánh dấu mở rộng] có thể tạo các phần tử để lưu trữ dữ liệu. Nó được sử dụng để trao đổi dữ liệu có cấu trúc qua API và ứng dụng. JSON [Ký hiệu đối tượng JavaScript] cũng là một ký hiệu cấu trúc dữ liệu được sử dụng rất phổ biến để truyền dữ liệu giữa các API và ứng dụng web. Nó dựa trên mảng và từ điển. Nó được xây dựng như một cải tiến so với XML

Ngôn ngữ lập trình Python có sẵn các mô-đun để phân tích cả dữ liệu JSON và XML. Không có phương pháp trực tiếp để chuyển đổi XML thành JSON, vì vậy chúng tôi sẽ sử dụng từ điển làm trung gian. Chúng ta sẽ tìm hiểu cách thực hiện chuyển đổi này trong bài viết này

Mục lục

Sử dụng mô-đun xmltodictjson để chuyển đổi dữ liệu XML sang JSON

xmltodict là một mô-đun được sử dụng để đọc và phân tích cú pháp dữ liệu XML thành các cấu trúc kiểu danh sách và từ điển. Chúng ta có thể sử dụng chức năng xmltodict.parse[] từ mô-đun này để đạt được điều này

Sau đó chúng ta có thể sử dụng mô-đun json để ghi dữ liệu này vào kiểu JSON. Hàm

import xmltodict
import json
0 có thể ghi đối tượng đã cho vào chuỗi JSON.

Xem đoạn mã sau

1

2

3

4

5

6

7

8

9

10

11

12

13

14

 

nhập xmltodict, json

xml_string = """

102

Đánh dấu

Tài khoản

75000

    

"""

d = xmltodict. phân tích cú pháp[xml_string]

json_str = json. kết xuất[d]

in[json_str]    

 

đầu ra

{“emp”. {"Tôi". “102”, “tên”. “Đánh dấu”, “bộ phận”. “Tài khoản”, “sal”. “75000”}}

Trong ví dụ trên,

  • Chúng tôi đã tạo một đối tượng lưu trữ chuỗi XML
  • Hàm xmltodict.parse[] phân tích cú pháp này thành một đối tượng kiểu từ điển
  • Chúng tôi chuyển đối tượng này đến hàm
    import xmltodict
    import json
    0 trả về một chuỗi có định dạng JSON

Sử dụng mô-đun
import xmltodict
import json
3 và json để chuyển đổi dữ liệu XML thành JSON

Mô-đun json0 là một phương pháp hiệu quả để phân tích cú pháp dữ liệu XML dưới dạng cây. Chúng ta có thể sử dụng mô-đun này để tạo một hàm do người dùng định nghĩa sẽ phân tích cú pháp chuỗi XML của chúng ta thành một từ điển, chúng ta có thể ghi hàm này dưới dạng tệp JSON bằng mô-đun json

Xem mã dưới đây

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

 

từ bộ sưu tập nhập defaultdict

từ xml. etree nhập ElementTree as ET

def xmldict[t]:

    d = {t.thẻ. {} nếu t. thuộc tính khác Không có}

    con = danh sách[t]

    nếu con.

        dd = defaultdict[list]

        cho dc trong bản đồ[xmldict, children]:

            cho k, v in dc.mặt hàng[].

                        dd[k].chắp thêm[v]

        d = {t.thẻ. {k. v[0] if len[v] == 1 else v

                     cho k, v in dd.mặt hàng[]}}

    nếu t. văn bản.

        văn bản = t. văn bản. cởi bỏ[]

        nếu trẻ em hoặc t.thuộc tính.

            nếu văn bản.

              d[t. thẻ]['#text'] = text

        khác.

            d[t. thẻ] = văn bản

    return d

xml_string = """

102

Đánh dấu

Tài khoản

75000

    

"""

xml_data = ET. XML[xml_string]

d = xmldict[xml_data]

json_str = json. kết xuất[d]

in[json_str]    

 

đầu ra

{“emp”. {"Tôi". “102”, “tên”. “Đánh dấu”, “bộ phận”. “Tài khoản”, “sal”. “75000”}}

Bây giờ, hãy cho chúng tôi hiểu những gì chúng tôi đã triển khai trong đoạn mã trên

  • Chúng tôi chuyển chuỗi XML bằng hàm json2
  • Chúng tôi chuyển dữ liệu này đến một chức năng gọi là json3
  • Chúng tôi xử lý dữ liệu này để trả về một từ điển
  • Từ điển này sau đó được chuyển đến hàm
    import xmltodict
    import json
    0, hàm này trả về dữ liệu JSON cuối cùng

Sử dụng mô-đun json5 và json để chuyển đổi dữ liệu XML sang JSON

json5 là một thư viện mới và đơn giản có sẵn để xử lý dữ liệu XML trong Python. Nó cung cấp các đối tượng khác nhau để phân tích dữ liệu khác nhau

Bạn có thể chuyển đổi XML thành JSON bằng Python không?

Chúng tôi có thể sử dụng mô-đun xmltodict của python để đọc tệp XML và chuyển đổi nó thành dữ liệu Dict hoặc JSON .

Tôi có thể chuyển đổi XML thành JSON không?

Để chuyển đổi tài liệu XML thành JSON, hãy làm theo các bước sau. Chọn hành động XML thành JSON từ menu Công cụ > Công cụ JSON. Chọn hoặc nhập URL đầu vào của tài liệu XML. Chọn đường dẫn của tệp Đầu ra sẽ chứa tài liệu JSON kết quả .

XML có tương thích với JSON không?

Cũng có hỗ trợ cho lược đồ JSON, nghĩa là bạn có thể thực hiện tương tự như XML bằng cách sử dụng định dạng dữ liệu được đề cập . Tuy nhiên, nó không được tích hợp vào công nghệ. Do đó, cần có các tiện ích mở rộng để hỗ trợ các lược đồ JSON. Một ưu điểm lớn khác của việc sử dụng XML là nó xử lý các nhận xét, siêu dữ liệu và không gian tên.

Tại sao bạn lại chuyển đổi XML thành JSON?

Mục đích của công cụ Chuyển đổi XML sang JSON là để chuyển đổi mã XML [Ngôn ngữ đánh dấu mở rộng] sang định dạng JSON . JSON là một định dạng trao đổi dữ liệu nhẹ, rất hữu ích để trao đổi dữ liệu từ máy khách đến máy chủ hoặc từ máy chủ đến máy khách.

Chủ Đề