Phần tử cập nhật phần tử python

XML [Ngôn ngữ đánh dấu mở rộng] là gì?

XML [Ngôn ngữ đánh dấu mở rộng] được gọi là ngôn ngữ đánh dấu mở rộng. XML thường được sử dụng để tổ chức, lưu trữ, truyền gửi dữ liệu giữa các hệ thống khác nhau. XML được xây dựng dựa trên một tập hợp các quy định tắt để mã hóa dữ liệu thành một tài liệu với định dạng cụ thể. Giả sử, chúng ta có 1 mục tệp. xml has content as bên dưới


    
        book
        chair
        window
    

Mục tập tin. xml đơn giản bao gồm các thẻ [tag] lồng nhau. Trong đó, mỗi mặt hàng thẻ có thuộc tính tên và giá. Chúng ta sẽ sử dụng các mục tệp. xml for the example file XML in this post

Việc đọc và phân tích tệp XML thường được gọi là phân tích cú pháp [phân tích cú pháp]. Trong Python, chúng ta có thể phân tích cú pháp tệp XML bằng cách thư viện

    • ĐẹpSúp
    • Yếu TốCây
    • thiểu số

2. Đọc [read] file XML với BeautifulSoup

Thư viện BeautifulSoup hỗ trợ trình phân tích cú pháp HTML [lxml] giúp đọc tệp xml. Để sử dụng trình phân tích cú pháp lxml, chúng ta cần cài đặt thư viện này bằng lệnh sau

# install beautifulsoup
pip install beautifulsoup4

#install lmxl parser
pip install lxml

Các bạn có thể đọc lại bài viết để biết cách cài đặt thư viện Python trong Visual Studio Code

Để đọc file xml với lxml, chúng ta thực hiện 2 bước. 1] Tìm các thẻ [thẻ] trong xml, 2] Rút trích dữ liệu từ các thẻ [thẻ]

from bs4 import BeautifulSoup
# reading data in items.xml
with open['items.xml', 'r'] as f:
    data = f.read[]
# passing data inside the beautifulsoup parser
bs_data = BeautifulSoup[data, "xml"]
# finding all instances of tag item
bs_item = bs_data.find_all['item']
print[bs_item]

# using find[] to get a tag with specified attribute
bs_name = bs_data.find['item', {'name':'item1'}]
print[bs_name]

# extracting the text stored in a tag
text = bs_name.get_text[]
print[text]

# extracting the data stored in a specific attribute of a tag
value = bs_name.get['price']
print[value]
Kết quả
[book, chair, window]
book
book
5

Các hàm của BeautifulSoup thường được sử dụng để đọc tệp XML như

  • Hàm find_all[] tìm tất cả các thẻ [tag] được chỉ định
  • Hàm find[] tìm thẻ đầu tiên phù hợp với yêu cầu
  • Hàm
    # install beautifulsoup
    pip install beautifulsoup4
    
    #install lmxl parser
    pip install lxml
    
    0 lấy văn bản của thẻ
  • Hàm
    # install beautifulsoup
    pip install beautifulsoup4
    
    #install lmxl parser
    pip install lxml
    
    1 lấy giá trị thuộc tính của một thẻ

Các bạn có thể tham khảo thêm cách sử dụng BeautifulSoup tại Tài liệu BeautifulSoup

3. Đọc [read] file XML với ElementTree

Module ElementTree cung cấp rất nhiều công cụ để thao tác với tệp XML. Mô-đun ElementTree được xây dựng sẵn trong Python nên chúng ta không cần cài đặt bất kỳ thư viện nào bổ sung để sử dụng ElementTree

Tổ chức lưu trữ dữ liệu của tệp XML là một định dạng dữ liệu phân cấp nên việc biểu diễn nó bằng cây sẽ dễ dàng hơn rất nhiều. Mô-đun ElementTree cung cấp các phương thức để biểu diễn toàn bộ tài liệu XML dưới dạng một cây duy nhất. Việc làm này rất phù hợp trong thao tác với tệp XML

Module ElementTree cung cấp hàm

# install beautifulsoup
pip install beautifulsoup4

#install lmxl parser
pip install lxml
2 để bắt đầu phân tích cú pháp của tệp XML. Sau đó, hàm
# install beautifulsoup
pip install beautifulsoup4

#install lmxl parser
pip install lxml
3 giúp lấy thẻ gốc trong tệp XML. Gốc thẻ sẽ có các thẻ con được đánh chỉ mục bắt đầu từ 0. Các thẻ con sẽ có thuộc tính thuộc tính để giúp truy xuất các thuộc tính của một thẻ

________số 8_______Kết quả

book
{'name': 'item1', 'price': '5'}

Các bạn có thể tìm hiểu thêm cách sử dụng ElementTree tại The ElementTree XML API

4. Đọc [read] file XML với minidom

Mô-đun minidom được tích hợp sẵn trong Python. Chúng ta chỉ cần

# install beautifulsoup
pip install beautifulsoup4

#install lmxl parser
pip install lxml
4 để sử dụng mô-đun minidom. Mô-đun này hỗ trợ hàm
# install beautifulsoup
pip install beautifulsoup4

#install lmxl parser
pip install lxml
5 để đọc tệp XML. Với quy mô nhỏ, mỗi thẻ [tag] sẽ được xem là một đối tượng [object]. Chúng ta có thể truy cập các thuộc tính [thuộc tính] và văn bản [văn bản] của một thẻ bằng cách truy cập các thuộc tính của đối tượng

Chủ Đề