Hướng dẫn xml dom python - xml dom python
1. XML (Extensible Markup Language) là gì?XML (Extensible Markup Language) 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 tắt để mã hóa dữ liệu thành một document với định dạng cụ thể. Giả sử, chúng ta có 1 file items.xml có nội dung như bên dưới: 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 tắt để mã hóa dữ liệu thành một document với định dạng cụ thể. Giả sử, chúng ta có 1 file items.xml có nội dung như bên dưới: Show
File items.xml đơn giản gồm các thẻ (tag) lồng nhau. Trong đó, mỗi thẻ item có thuộc tính name và price. Chúng ta sẽ sử dụng file items.xml cho các ví dụ đọc file XML trong bài này.items.xml đơn giản gồm các thẻ (tag) lồng nhau. Trong đó, mỗi thẻ item có thuộc tính name và price. Chúng ta sẽ sử dụng file items.xml cho các ví dụ đọc file XML trong bài này. Việc đọc và phân tích file XML thường được gọi là phân tích cú pháp (parsing). Trong Python, chúng ta có thể parsing file XML bằng cách thư viện:phân tích cú pháp (parsing). Trong Python, chúng ta có thể parsing file XML bằng cách thư viện:
2. Đọc (read) file XML với BeautifulSoupThư viện BeautifulSoup hỗ trợ HTML parser (lxml) giúp đọc file xml. Để sử dụng lxml parser, chúng ta cần cài đặt thư viện này với câu lệnh sau:BeautifulSoup hỗ trợ HTML parser (lxml) giúp đọc file xml. Để sử dụng lxml parser, chúng ta cần cài đặt thư viện này với câu lệnh sau:
Các bạn có thể đọc lại bài Cài đặt Python và môi trường lập trình với Visual Studio Code để biết cách cài đặt các 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ẻ (tag) trong xml, 2) Rút trích dữ liệu từ các thẻ (tag).lxml, chúng ta thực hiện 2 bước: 1) Tìm các thẻ (tag) trong xml, 2) Rút trích dữ liệu từ các thẻ (tag).
Kết quả
Các hàm của BeautifulSoup thường được sử dụng để đọc file XML như:BeautifulSoup thường được sử dụng để đọc file XML như:
Các bạn có thể tìm hiểu thêm cách sử dụng BeautifulSoup tại Beautiful Soup Documentation.BeautifulSoup tại Beautiful Soup Documentation. 3. Đọc (read) file XML với ElementTreeModule ElementTree cung cấp rất nhiều công cụ để thao tác với file XML. Module 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 thêm để sử dụng ElementTree.ElementTree cung cấp rất nhiều công cụ để thao tác với file XML. Module 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 thêm để sử dụng ElementTree. Tổ chức lữu trữ dữ liệu của file 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. Module 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 này rất phù hợp trong thao tác với file XML.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 này rất phù hợp trong thao tác với file XML. Module ElementTree cung cấp hàm 2 để bắt đầu phân tích cú pháp của file XML. Sau đó, hàm 3 giúp lấy thẻ root trong file XML. Thẻ root sẽ có các thẻ con được đánh index bắt đầu từ 0. Các thẻ con sẽ có thuộc tính attrib để giúp truy xuất các thuộc tính của một thẻ.ElementTree cung cấp hàm 2 để bắt đầu phân tích cú pháp của file XML. Sau đó, hàm 3 giúp lấy thẻ root trong file XML. Thẻ root sẽ có các thẻ con được đánh index bắt đầu từ 0. Các thẻ con sẽ có thuộc tính attrib để giúp truy xuất các thuộc tính của một thẻ.
Kết quả
Các hàm của BeautifulSoup thường được sử dụng để đọc file XML như:ElementTree tại The ElementTree XML API. Hàm find_all() tìm tất cả các thẻ (tag) được chỉ định.Hàm 4 để sử dụng module minidom. Module này hỗ trợ hàm
5 để đọc file XML. Với minidom, 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 (attribute) và văn bản (text) của một thẻ bằng cách truy cập các thuộc tính của đối tượng.
Kết quả
Các hàm của BeautifulSoup thường được sử dụng để đọc file XML như:minidom tại Minimal DOM implementation.
|