Ngôn ngữ đánh dấu có thể mở rộng, thường được gọi là XML là một ngôn ngữ được thiết kế đặc biệt để dễ dàng giải thích bởi cả con người và máy tính hoàn toàn. Ngôn ngữ xác định một tập hợp các quy tắc được sử dụng để mã hóa một tài liệu ở một định dạng cụ thể. Trong bài viết này, các phương thức đã được mô tả để đọc và viết các tệp XML bằng Python., commonly known as XML is a language designed specifically to be easy to interpret by both humans and computers altogether. The language defines a set of rules used to encode a document in a specific format. In this article, methods have been described to read and write XML files in python.
Lưu ý: Nói chung, quá trình đọc dữ liệu từ tệp XML và phân tích các thành phần logic của nó được gọi là phân tích cú pháp. Do đó, khi chúng tôi đề cập đến việc đọc một tệp XML, chúng tôi đang đề cập đến việc phân tích cú pháp tài liệu XML. & NBSP; In general, the process of reading the data from an XML file and analyzing its logical components is known as Parsing. Therefore, when we refer to reading a xml file we are referring to parsing the XML document.
Trong bài viết này, chúng tôi sẽ xem xét hai thư viện có thể được sử dụng cho mục đích phân tích cú pháp XML. Họ đang:
- Đẹp được sử dụng cùng với trình phân tích cú pháp LXML XML & NBSP;
- Thư viện ElementTree. & NBSP;
Sử dụng đẹp cùng với trình phân tích cú pháp LXML
Với mục đích đọc và viết tệp XML, chúng tôi sẽ sử dụng thư viện Python có tên BeautifulSoup. Để cài đặt thư viện, hãy nhập lệnh sau vào thiết bị đầu cuối. & Nbsp; & nbsp;
pip install beautifulsoup4
Súp đẹp hỗ trợ trình phân tích cú pháp HTML có trong thư viện tiêu chuẩn Python, nhưng nó cũng hỗ trợ một số trình phân tích cú pháp Python của bên thứ ba. Một là trình phân tích cú pháp LXML [được sử dụng để phân tích các tài liệu XML/HTML]. LXML có thể được cài đặt bằng cách chạy lệnh sau trong bộ xử lý lệnh của hệ điều hành của bạn: & nbsp; & nbsp;
pip install lxml
Đầu tiên chúng ta sẽ học cách đọc từ tệp XML. Chúng tôi cũng sẽ phân tích dữ liệu được lưu trữ trong đó. Sau đó, chúng tôi sẽ học cách tạo một tệp XML và ghi dữ liệu vào nó. & NBSP;
Đọc dữ liệu từ tệp XML
Có hai bước cần thiết để phân tích tệp XML:-& nbsp; & nbsp;
- Tìm thẻ & nbsp;
- Trích xuất từ thẻ
Example:
Tệp XML được sử dụng: & nbsp;
Python3
from
bs4
import
BeautifulSoup
with
open
[
'dict.xml'
pip install lxml0
pip install lxml1
pip install lxml2
pip install lxml3
pip install lxml4
pip install lxml5
pip install lxml6
pip install lxml7
pip install lxml5
pip install lxml9
from
0from
1from
2
pip install lxml5
from
4from
5from
1from
7from
8
from
9
pip install lxml5
bs4
1bs4
2bs4
3bs4
4bs4
5bs4
6bs4
7from
7bs4
9
import
0
pip install lxml5
import
2import
3from
1from
7import
6
OUTPUT:
Viết tệp XML
Viết tệp XML là một quá trình nguyên thủy, lý do cho rằng thực tế là các tệp XML được mã hóa theo một cách đặc biệt. Sửa đổi các phần của tài liệu XML yêu cầu một người để phân tích thông qua nó lúc đầu. Trong mã dưới đây, chúng tôi sẽ sửa đổi một số phần của tài liệu XML đã nói ở trên. & NBSP;
Example:
Python3
from
bs4
import
BeautifulSoup
with
open
[
'dict.xml'
pip install lxml0
pip install lxml1
pip install lxml2
pip install lxml3
pip install lxml4
pip install lxml5
pip install lxml6
pip install lxml7
pip install lxml5
pip install lxml9
from
0from
1from
2
pip install lxml5
from
4from
5from
1from
9
pip install lxml5
bs4
1bs4
2bs4
3bs4
4bs4
5bs4
6bs4
7from
7[
4
Output:
import
0pip install lxml
5 import
2import
3from
1
Viết tệp XML provides us with a plethora of tools for manipulating XML files. The best part about it being its inclusion in the standard Python’s built-in library. Therefore, one does not have to install any external modules for the purpose. Due to the xmlformat being an inherently hierarchical data format, it is a lot easier to represent it by a tree. The module provides ElementTree provides methods to represent whole XML document as a single tree.
Viết tệp XML là một quá trình nguyên thủy, lý do cho rằng thực tế là các tệp XML được mã hóa theo một cách đặc biệt. Sửa đổi các phần của tài liệu XML yêu cầu một người để phân tích thông qua nó lúc đầu. Trong mã dưới đây, chúng tôi sẽ sửa đổi một số phần của tài liệu XML đã nói ở trên. & NBSP;
with
2pip install lxml
5 pip install lxml
9with
5from
1
Is
Example:
Python3
pip install lxml3
open
8import
3[
0pip install lxml5
[
2Sử dụng Elementree
Mô -đun Elementree cung cấp cho chúng tôi rất nhiều công cụ để thao tác các tệp XML. Phần tốt nhất về nó là sự bao gồm của nó vào thư viện tích hợp Python tiêu chuẩn. Do đó, người ta không phải cài đặt bất kỳ mô -đun bên ngoài nào cho mục đích. Do XMLformat là một định dạng dữ liệu phân cấp vốn có, việc thể hiện nó bằng một cây dễ dàng hơn rất nhiều. Mô -đun cung cấp 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. & NBSP;
from
7'dict.xml'
6
from
7'dict.xml'
8'dict.xml'
9
pip install lxml00
from
7'dict.xml'
8
pip install lxml03
pip install lxml04
'dict.xml'
9pip install lxml06
Output:
Trong các ví dụ sau, chúng ta sẽ xem xét các phương thức riêng biệt để đọc và ghi dữ liệu đến và từ các tệp XML. & NBSP; & NBSP;
Đọc các tệp XML
Để làm tương tự, trước tiên, chúng tôi tạo một thẻ gốc [cha mẹ] dưới tên của cờ vua bằng lệnh et.element [‘cờ vua]. Tất cả các thẻ sẽ rơi xuống bên dưới thẻ này, tức là một khi thẻ gốc đã được xác định, các phần tử phụ khác có thể được tạo bên dưới nó. Sau đó, chúng tôi đã tạo một Subtag/SubLement có tên mở bên trong thẻ cờ bằng lệnh et.subelement []. Sau đó, chúng tôi đã tạo thêm hai khoản phụ khác ở bên dưới lỗ mở có tên E4 và D4. Sau đó, chúng tôi đã thêm các thuộc tính vào các thẻ E4 và D4 bằng SET [] là phương thức được tìm thấy bên trong SubEuity [], được sử dụng để xác định các thuộc tính cho một thẻ. Sau đó, chúng tôi đã thêm văn bản giữa các thẻ E4 và D4 bằng cách sử dụng văn bản thuộc tính được tìm thấy bên trong hàm SubEuity. Cuối cùng, chúng tôi đã chuyển đổi kiểu dữ liệu của các nội dung chúng tôi đang tạo từ 'xml.etree.elementtree.element' sang byte đối tượng, sử dụng lệnh et.tostring [] [mặc dù tên hàm là toString [] trong một số triển khai mà nó chuyển đổi Kiểu dữ liệu thành `byte` thay vì` str`]. Cuối cùng, chúng tôi đã xóa dữ liệu vào một tệp có tên gameofsquares.xml, đây là chế độ `wb` để cho phép viết dữ liệu nhị phân cho nó. Cuối cùng, chúng tôi đã lưu dữ liệu vào tệp của chúng tôi.
Example:
Python3
import
[
6
pip install lxml4
pip install lxml5
pip install lxml11
pip install lxml1221
pip install lxml14
pip install lxml5
pip install lxml16
pip install lxml17
from
1pip install lxml19
pip install lxml5
pip install lxml21
pip install lxml22221
pip install lxml24
pip install lxml5
pip install lxml21
pip install lxml27
from
1pip install lxml29
pip install lxml30
[
pip install lxml32
pip install lxml0
pip install lxml34
from
1Các
pip install lxml43
pip install lxml5
pip install lxml45
pip install lxml46
pip install lxml5
pip install lxml48
pip install lxml49
pip install lxml5
pip install lxml51
with
open
[
pip install lxml55
pip install lxml0
pip install lxml57
pip install lxml2
pip install lxml3
pip install lxml60
Output: