Hướng dẫn tree.getroot() in python - tree.getroot () trong python

Mới trong phiên bản 2.5.

Show

Nội dung chính ShowShow

  • 19.7.1. Hướng dẫn¶Tutorial¶
  • 19.7.1.1. Cây XML và các yếu tốXML tree and elements¶
  • 19.7.1.2. Phân tích cú pháp xml¶Parsing XML¶
  • 19.7.1.3. Tìm các yếu tố thú vịFinding interesting elements¶
  • 19.7.1.4. Sửa đổi tệp XMLModifying an XML File¶
  • Chúng ta có thể loại bỏ các yếu tố bằng cách sử dụng >>> root[0][1].text '2008' 3. Hãy nói rằng chúng tôi muốn loại bỏ tất cả các quốc gia với thứ hạng cao hơn 50:Building XML documents¶
  • Hàm root = ET.fromstring(country_data_as_string) 5 cũng cung cấp một cách thuận tiện để tạo các phần tử phụ mới cho một phần tử đã cho:Parsing XML with Namespaces¶
  • 19.7.2. Hỗ trợ Xpath¶XPath support¶
  • 19.7.2.1. Thí dụ¶Example¶
  • 19.7.2.2. Hỗ trợ Xpath Cú phápSupported XPath syntax¶
  • 19.7.3. Tài liệu tham khảo¶Reference¶
  • 19.7.3.1. Chức năng¶Functions¶
  • Tạo một biểu diễn chuỗi của một phần tử XML, bao gồm tất cả các phần mềm. Phần tử là một ví dụ root = ET.fromstring(country_data_as_string) 3. Mã hóa 1 là mã hóa đầu ra (mặc định là US-ASCII). Phương thức là import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 16, import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 17 hoặc import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 18 (mặc định là import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 16). Trả về một chuỗi được mã hóa chứa dữ liệu XML.Element Objects¶
  • ________ 166 ()ElementTree Objects¶
  • 19.7.3.4. Đối tượng QnameQName Objects¶
  • 19.7.3.5. Đối tượng TreeBuilderTreeBuilder Objects¶
  • 19.7.3.6. XMLPARSER Đối tượngXMLParser Objects¶

Mã nguồn: lib/xml/etree/ElementTree.py Lib/xml/etree/ElementTree.py Lib/xml/etree/ElementTree.py


Loại

root = ET.fromstring(country_data_as_string)
3 là một đối tượng container linh hoạt, được thiết kế để lưu trữ các cấu trúc dữ liệu phân cấp trong bộ nhớ. Loại có thể được mô tả như là một sự giao thoa giữa một danh sách và một từ điển.

Mỗi phần tử có một số thuộc tính được liên kết với nó:

  • Một thẻ là một chuỗi xác định loại dữ liệu mà phần tử này biểu thị (loại phần tử, nói cách khác).

  • Một số thuộc tính, được lưu trữ trong từ điển Python.

  • một chuỗi văn bản.

  • một chuỗi đuôi tùy chọn.

  • một số yếu tố trẻ em, được lưu trữ theo trình tự Python

Để tạo một thể hiện phần tử, hãy sử dụng hàm tạo

root = ET.fromstring(country_data_as_string)
3 hoặc hàm nhà máy
root = ET.fromstring(country_data_as_string)
5.

Lớp

root = ET.fromstring(country_data_as_string)
6 có thể được sử dụng để bọc cấu trúc phần tử và chuyển đổi nó từ và sang XML.

Việc triển khai C của API này có sẵn là

root = ET.fromstring(country_data_as_string)
7.

Xem http://effbot.org/zone/element-index.htm để hướng dẫn và liên kết đến các tài liệu khác. Trang Fredrik Lundh, cũng là vị trí của phiên bản phát triển của xml.etree.elementtree.

Đã thay đổi trong phiên bản 2.7: API ElementTree được cập nhật lên 1.3. Để biết thêm thông tin, xem Giới thiệu ElementTree 1.3.The ElementTree API is updated to 1.3. For more information, see Introducing ElementTree 1.3.The ElementTree API is updated to 1.3. For more information, see Introducing ElementTree 1.3.

19.7.1. Hướng dẫn¶Tutorial¶

Đây là một hướng dẫn ngắn để sử dụng

root = ET.fromstring(country_data_as_string)
8 (ngắn gọn ____29). Mục tiêu là để chứng minh một số khối xây dựng và các khái niệm cơ bản của mô -đun.

19.7.1.1. Cây XML và các yếu tốXML tree and elements¶

XML là một định dạng dữ liệu phân cấp vốn có và cách tự nhiên nhất để thể hiện nó là với một cây.

root = ET.fromstring(country_data_as_string)
9 có hai lớp cho mục đích này -
root = ET.fromstring(country_data_as_string)
6 đại diện cho toàn bộ tài liệu XML dưới dạng cây và
root = ET.fromstring(country_data_as_string)
3 đại diện cho một nút duy nhất trong cây này. Các tương tác với toàn bộ tài liệu (đọc và ghi vào/từ các tệp) thường được thực hiện ở cấp độ
root = ET.fromstring(country_data_as_string)
6. Các tương tác với một phần tử XML duy nhất và các phần tử phụ của nó được thực hiện ở cấp độ
root = ET.fromstring(country_data_as_string)
3.

19.7.1.2. Phân tích cú pháp xml¶Parsing XML¶

19.7.1.3. Tìm các yếu tố thú vịFinding interesting elements¶

root = ET.fromstring(country_data_as_string)
1

19.7.1.4. Sửa đổi tệp XMLModifying an XML File¶

root = ET.fromstring(country_data_as_string)
2

Chúng ta có thể loại bỏ các yếu tố bằng cách sử dụng >>> root[0][1].text '2008' 3. Hãy nói rằng chúng tôi muốn loại bỏ tất cả các quốc gia với thứ hạng cao hơn 50:Building XML documents¶

Hàm root = ET.fromstring(country_data_as_string) 5 cũng cung cấp một cách thuận tiện để tạo các phần tử phụ mới cho một phần tử đã cho:Parsing XML with Namespaces¶

19.7.2. Hỗ trợ Xpath¶XPath support¶

19.7.2.1. Thí dụ¶Example¶

19.7.2.2. Hỗ trợ Xpath Cú phápSupported XPath syntax¶

root = ET.fromstring(country_data_as_string)
0

19.7.3. Tài liệu tham khảo¶Reference¶

root = ET.fromstring(country_data_as_string)
1

19.7.1.3. Tìm các yếu tố thú vịFinding interesting elements¶

19.7.1.4. Sửa đổi tệp XMLModifying an XML File¶

Đặc điểm kỹ thuật tinh vi hơn về các yếu tố cần tìm là có thể bằng cách sử dụng XPath.XPath.XPath.

19.7.1.4. Sửa đổi tệp XMLModifying an XML File¶

root = ET.fromstring(country_data_as_string)
6 cung cấp một cách đơn giản để xây dựng các tài liệu XML và viết chúng vào các tệp. Phương pháp
root = ET.fromstring(country_data_as_string)
07 phục vụ mục đích này.

Sau khi được tạo, một đối tượng

root = ET.fromstring(country_data_as_string)
3 có thể được thao tác bằng cách thay đổi trực tiếp các trường của nó (chẳng hạn như
root = ET.fromstring(country_data_as_string)
04), thêm và sửa đổi các thuộc tính (phương thức
root = ET.fromstring(country_data_as_string)
10), cũng như thêm trẻ em mới (ví dụ: với
root = ET.fromstring(country_data_as_string)
11).

Hãy nói rằng chúng tôi muốn thêm một vào cấp bậc của mỗi quốc gia và thêm thuộc tính

root = ET.fromstring(country_data_as_string)
12 vào phần tử cấp bậc:
root = ET.fromstring(country_data_as_string)
7

XML của chúng tôi bây giờ trông như thế này:

root = ET.fromstring(country_data_as_string)
8

Chúng ta có thể loại bỏ các yếu tố bằng cách sử dụng

root = ET.fromstring(country_data_as_string)
13. Hãy nói rằng chúng tôi muốn loại bỏ tất cả các quốc gia với thứ hạng cao hơn 50:
root = ET.fromstring(country_data_as_string)
20

XML của chúng tôi bây giờ trông như thế này:

root = ET.fromstring(country_data_as_string)
21

Chúng ta có thể loại bỏ các yếu tố bằng cách sử dụng

root = ET.fromstring(country_data_as_string)
13. Hãy nói rằng chúng tôi muốn loại bỏ tất cả các quốc gia với thứ hạng cao hơn 50:
root = ET.fromstring(country_data_as_string)
20

root = ET.fromstring(country_data_as_string)
22

Chúng ta có thể loại bỏ các yếu tố bằng cách sử dụng >>> root[0][1].text '2008' 3. Hãy nói rằng chúng tôi muốn loại bỏ tất cả các quốc gia với thứ hạng cao hơn 50:Building XML documents¶

19.7.1.5. Xây dựng tài liệu XML

Hàm root = ET.fromstring(country_data_as_string) 5 cũng cung cấp một cách thuận tiện để tạo các phần tử phụ mới cho một phần tử đã cho:Parsing XML with Namespaces¶

19.7.1.6. Phân tích cú pháp XML với không gian tên

Nếu đầu vào XML có không gian tên, thẻ và thuộc tính có tiền tố ở dạng

root = ET.fromstring(country_data_as_string)
24

root = ET.fromstring(country_data_as_string)
15 sẽ được mở rộng thành
root = ET.fromstring(country_data_as_string)
16 trong đó tiền tố được thay thế bằng URI đầy đủ. Ngoài ra, nếu có một không gian tên mặc định, rằng URI đầy đủ đó sẽ được chuẩn bị cho tất cả các thẻ không có lỗi.
root = ET.fromstring(country_data_as_string)
23

Dưới đây là một ví dụ XML kết hợp hai không gian tên, một với tiền tố hư cấu và cái còn lại là không gian tên mặc định:

Một cách để tìm kiếm và khám phá ví dụ XML này là thêm thủ công URI vào mọi thẻ hoặc thuộc tính trong XPath của

root = ET.fromstring(country_data_as_string)
26

root = ET.fromstring(country_data_as_string) 17 hoặc root = ET.fromstring(country_data_as_string) 18:root = ET.fromstring(country_data_as_string) 25

Hai cách tiếp cận này cả hai đầu ra:

19.7.2. Hỗ trợ Xpath¶XPath support¶

Mô -đun này cung cấp hỗ trợ hạn chế cho các biểu thức XPath để định vị các phần tử trong cây. Mục tiêu là hỗ trợ một tập hợp con nhỏ của cú pháp viết tắt; Một động cơ XPath đầy đủ nằm ngoài phạm vi của mô -đun.

19.7.2.1. Thí dụ¶Example¶Parsing XML section:
root = ET.fromstring(country_data_as_string)
27

Ở đây, một ví dụ chứng minh một số khả năng XPath của mô -đun. Chúng tôi sẽ sử dụng tài liệu XML

root = ET.fromstring(country_data_as_string)
19 từ phần phân tích cú pháp XML:Parsing XML section:
root = ET.fromstring(country_data_as_string)
27

19.7.2.2. Hỗ trợ Xpath Cú phápSupported XPath syntax¶

Cú pháp

Nghĩa

root = ET.fromstring(country_data_as_string)
40
Chọn tất cả các phần tử con với thẻ đã cho. Ví dụ:

root = ET.fromstring(country_data_as_string)
41 chọn tất cả các yếu tố con có tên
root = ET.fromstring(country_data_as_string)
41 và
root = ET.fromstring(country_data_as_string)
43 chọn tất cả các cháu có tên
root = ET.fromstring(country_data_as_string)
44 ở tất cả trẻ em có tên
root = ET.fromstring(country_data_as_string)
41.

root = ET.fromstring(country_data_as_string)
46
Chọn tất cả các yếu tố trẻ em. Ví dụ,

root = ET.fromstring(country_data_as_string)
47 chọn tất cả các cháu có tên
root = ET.fromstring(country_data_as_string)
44.

root = ET.fromstring(country_data_as_string)
49

Chọn nút hiện tại. Điều này chủ yếu là hữu ích ở đầu đường dẫn, để chỉ ra rằng nó là một con đường tương đối.

root = ET.fromstring(country_data_as_string)
90
Chọn tất cả các phần mềm, trên tất cả các cấp bên dưới phần tử hiện tại. Ví dụ,

root = ET.fromstring(country_data_as_string)
91 chọn tất cả các phần tử
root = ET.fromstring(country_data_as_string)
44 trong toàn bộ cây.

root = ET.fromstring(country_data_as_string)
93

Chọn phần tử cha.

root = ET.fromstring(country_data_as_string)
94

Chọn tất cả các yếu tố có thuộc tính đã cho.

root = ET.fromstring(country_data_as_string)
95

Chọn tất cả các yếu tố mà thuộc tính đã cho có giá trị đã cho. Giá trị không thể chứa trích dẫn.

root = ET.fromstring(country_data_as_string)
96
Chọn tất cả các yếu tố có một đứa trẻ tên

Chọn tất cả các yếu tố mà thuộc tính đã cho có giá trị đã cho. Giá trị không thể chứa trích dẫn.

root = ET.fromstring(country_data_as_string)
96
Chọn tất cả các yếu tố có một đứa trẻ tên

root = ET.fromstring(country_data_as_string)
40. Chỉ có trẻ em ngay lập tức được hỗ trợ.

root = ET.fromstring(country_data_as_string)
98

root = ET.fromstring(country_data_as_string)
40 có nội dung văn bản hoàn chỉnh, bao gồm cả hậu duệ, bằng với
root = ET.fromstring(country_data_as_string)
70 đã cho.

root = ET.fromstring(country_data_as_string)
71

Chọn tất cả các yếu tố được đặt tại vị trí đã cho. Vị trí có thể là một số nguyên (1 là vị trí đầu tiên), biểu thức

root = ET.fromstring(country_data_as_string) 72 (cho vị trí cuối cùng) hoặc một vị trí so với vị trí cuối cùng (ví dụ: root = ET.fromstring(country_data_as_string) 73).

Các vị từ (biểu thức trong dấu ngoặc vuông) phải được đi trước bằng tên thẻ, dấu hoa thị hoặc vị ngữ khác.

root = ET.fromstring(country_data_as_string)
74 Các vị từ phải được đi trước bằng một tên thẻ.(elem)

19.7.3. Tài liệu tham khảo¶Reference¶

19.7.3.1. Chức năng¶Functions¶

Elem là một cây phần tử hoặc một phần tử riêng lẻ.

________ 85 ________ 88 (văn bản) ¶(text)¶(text)

Phân tích phần XML từ hằng số chuỗi. Giống như

root = ET.fromstring(country_data_as_string)
79. Văn bản là một chuỗi chứa dữ liệu XML. Trả về một ví dụ
root = ET.fromstring(country_data_as_string)
3. ________ 85 ________ 92 (trình tự, trình phân tích cú pháp = không) ¶(sequence, parser=None)¶(sequence, parser=None)

Phân tích một tài liệu XML từ một chuỗi các đoạn chuỗi. Trình tự là một danh sách hoặc chuỗi khác chứa các đoạn dữ liệu XML. Trình phân tích cú pháp là một thể hiện trình phân tích cú pháp tùy chọn. Nếu không được đưa ra, trình phân tích cú pháp

root = ET.fromstring(country_data_as_string)
83 tiêu chuẩn được sử dụng. Trả về một ví dụ
root = ET.fromstring(country_data_as_string)
3.

Mới trong phiên bản 2.7.

________ 85 ________ 96 (phần tử) ¶(element)¶(element)

Kiểm tra xem một đối tượng có vẻ là một đối tượng phần tử hợp lệ. Phần tử là một thể hiện yếu tố. Trả về một giá trị thực nếu đây là một đối tượng phần tử.

________ 85 ________ 98 (Nguồn, sự kiện = Không, trình phân tích cú pháp = Không) ¶(source, events=None, parser=None)¶(source, events=None, parser=None)

Phân tích phần XML vào một cây phần tử tăng dần và báo cáo những gì mà người dùng sẽ tiếp tục. Nguồn là tên tệp hoặc đối tượng tệp chứa dữ liệu XML. Sự kiện là một danh sách các sự kiện để báo cáo lại. Nếu bị bỏ qua, chỉ có các sự kiện kết thúc của người Viking được báo cáo. Trình phân tích cú pháp là một thể hiện trình phân tích cú pháp tùy chọn. Nếu không được đưa ra, trình phân tích cú pháp

root = ET.fromstring(country_data_as_string)
83 tiêu chuẩn được sử dụng. Trình phân tích cú pháp không được hỗ trợ bởi
root = ET.fromstring(country_data_as_string)
200. Trả về một iterator cung cấp các cặp
root = ET.fromstring(country_data_as_string)
201.iterator providing
root = ET.fromstring(country_data_as_string)
201 pairs.iterator providing
root = ET.fromstring(country_data_as_string)
201 pairs.

Ghi chú

root = ET.fromstring(country_data_as_string)
202 chỉ đảm bảo rằng nó đã nhìn thấy ký tự>> của một thẻ bắt đầu khi nó phát ra sự kiện bắt đầu, vì vậy các thuộc tính được xác định, nhưng nội dung của các thuộc tính văn bản và đuôi không được xác định tại điểm đó. Điều tương tự áp dụng cho trẻ em yếu tố; Họ có thể hoặc không thể có mặt.

Nếu bạn cần một yếu tố điền kinh hoàn toàn, thay vào đó, hãy tìm các sự kiện về kết thúc.

________ 85 ________ 104 (Nguồn, trình phân tích cú pháp = Không) ¶(source, parser=None)¶ (source, parser=None)

Phân tích phần XML vào một cây phần tử. Nguồn là tên tệp hoặc đối tượng tệp chứa dữ liệu XML. Trình phân tích cú pháp là một thể hiện trình phân tích cú pháp tùy chọn. Nếu không được đưa ra, trình phân tích cú pháp

root = ET.fromstring(country_data_as_string)
83 tiêu chuẩn được sử dụng. Trả về một ví dụ
root = ET.fromstring(country_data_as_string)
6. ________ 85 ________ 108 (Target, Text = none) ¶(target, text=None)¶(target, text=None)

Nhà máy nguyên tố PI. Chức năng nhà máy này tạo ra một yếu tố đặc biệt sẽ được tuần tự hóa dưới dạng hướng dẫn xử lý XML. Mục tiêu là một chuỗi chứa mục tiêu PI. Văn bản là một chuỗi chứa nội dung PI, nếu được đưa ra. Trả về một thể hiện phần tử, đại diện cho một lệnh xử lý.

________ 85 ________ 110 (tiền tố, uri) ¶(prefix, uri)¶(prefix, uri)

Đăng ký một tiền tố không gian tên. Cơ quan đăng ký là toàn cầu và bất kỳ ánh xạ hiện có nào cho tiền tố đã cho hoặc URI không gian tên sẽ bị xóa. Tiền tố là tiền tố không gian tên. URI là một không gian tên Uri. Các thẻ và các thuộc tính trong không gian tên này sẽ được tuần tự hóa với tiền tố đã cho, nếu có thể.

Mới trong phiên bản 2.7.

________ 85 ________ 96 (phần tử) ¶(element)¶(parent, tag, attrib={}, **extra)

Kiểm tra xem một đối tượng có vẻ là một đối tượng phần tử hợp lệ. Phần tử là một thể hiện yếu tố. Trả về một giá trị thực nếu đây là một đối tượng phần tử.

________ 85 ________ 98 (Nguồn, sự kiện = Không, trình phân tích cú pháp = Không) ¶(source, events=None, parser=None)¶

Phân tích phần XML vào một cây phần tử tăng dần và báo cáo những gì mà người dùng sẽ tiếp tục. Nguồn là tên tệp hoặc đối tượng tệp chứa dữ liệu XML. Sự kiện là một danh sách các sự kiện để báo cáo lại. Nếu bị bỏ qua, chỉ có các sự kiện kết thúc của người Viking được báo cáo. Trình phân tích cú pháp là một thể hiện trình phân tích cú pháp tùy chọn. Nếu không được đưa ra, trình phân tích cú pháp (element, encoding="us-ascii", method="xml")

root = ET.fromstring(country_data_as_string)
83 tiêu chuẩn được sử dụng. Trình phân tích cú pháp không được hỗ trợ bởi
root = ET.fromstring(country_data_as_string)
200. Trả về một iterator cung cấp các cặp
root = ET.fromstring(country_data_as_string)
201.iterator providing
root = ET.fromstring(country_data_as_string)
201 pairs.

Ghi chú(element, encoding="us-ascii", method="xml")

root = ET.fromstring(country_data_as_string)
83 tiêu chuẩn được sử dụng. Trình phân tích cú pháp không được hỗ trợ bởi
root = ET.fromstring(country_data_as_string)
200. Trả về một iterator cung cấp các cặp
root = ET.fromstring(country_data_as_string)
201.iterator providing
root = ET.fromstring(country_data_as_string)
201 pairs.

Ghi chú

Mới trong phiên bản 2.7.

________ 85 ________ 96 (phần tử) ¶(element)¶(text, parser=None)

Nhà máy Subelement. Hàm này tạo ra một thể hiện phần tử và nối nó vào một phần tử hiện có.

Tên phần tử, tên thuộc tính và giá trị thuộc tính có thể là chuỗi bytestrings hoặc unicode. Cha mẹ là yếu tố cha mẹ. Tag là tên subelement. Attrible là một từ điển tùy chọn, chứa các thuộc tính phần tử. Thêm chứa các thuộc tính bổ sung, được đưa ra dưới dạng đối số từ khóa. Trả về một thể hiện phần tử.(text, parser=None)¶(text, parser=None)

________ 85 ________ 114 (phần tử, mã hóa = "us-ascii", phương thức = "xml") ¶

Tạo một biểu diễn chuỗi của một phần tử XML, bao gồm tất cả các phần mềm. Phần tử là một ví dụ root = ET.fromstring(country_data_as_string) 3. Mã hóa 1 là mã hóa đầu ra (mặc định là US-ASCII). Phương thức là import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 16, import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 17 hoặc import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 18 (mặc định là import xml.etree.ElementTree as ET tree = ET.parse('country_data.xml') root = tree.getroot() 16). Trả về một chuỗi được mã hóa chứa dữ liệu XML.Element Objects¶

________ 85 ________ 121 (phần tử, mã hóa = "us-ascii", phương thức = "xml") ¶(tag, attrib={}, **extra)¶(tag, attrib={}, **extra)

Tạo một biểu diễn chuỗi của một phần tử XML, bao gồm tất cả các phần mềm. Phần tử là một ví dụ

root = ET.fromstring(country_data_as_string)
3. Mã hóa 1 là mã hóa đầu ra (mặc định là US-ASCII). Phương thức là
root = ET.fromstring(country_data_as_string)
216,
root = ET.fromstring(country_data_as_string)
217 hoặc
root = ET.fromstring(country_data_as_string)
218 (mặc định là
root = ET.fromstring(country_data_as_string)
216). Trả về một danh sách các chuỗi được mã hóa chứa dữ liệu XML. Nó không đảm bảo bất kỳ chuỗi cụ thể nào, ngoại trừ
root = ET.fromstring(country_data_as_string)
227.

________ 85 ________ 129 (văn bản, trình phân tích cú pháp = không) ¶

Phân tích phần XML từ hằng số chuỗi. Chức năng này có thể được sử dụng để nhúng các loại văn bản XML XML trong mã Python. Văn bản là một chuỗi chứa dữ liệu XML. Trình phân tích cú pháp là một thể hiện trình phân tích cú pháp tùy chọn. Nếu không được đưa ra, trình phân tích cú pháp
root = ET.fromstring(country_data_as_string)
83 tiêu chuẩn được sử dụng. Trả về một ví dụ
root = ET.fromstring(country_data_as_string)
3.

________ 85 ________ 133 (văn bản, trình phân tích cú pháp = không) ¶

Phân tích phần XML từ hằng số chuỗi và cũng trả về một từ điển ánh xạ từ phần tử ID: S sang các phần tử. Văn bản là một chuỗi chứa dữ liệu XML. Trình phân tích cú pháp là một thể hiện trình phân tích cú pháp tùy chọn. Nếu không được đưa ra, trình phân tích cú pháp
root = ET.fromstring(country_data_as_string)
83 tiêu chuẩn được sử dụng. Trả về một tuple chứa một thể hiện
root = ET.fromstring(country_data_as_string)
3 và từ điển.

19.7.3.2. Đối tượng phần tử

root = ET.fromstring(country_data_as_string)
28

Lớp ________ 85 ________ 137 (TAG, Attrib

Lớp phần tử. Lớp này xác định giao diện phần tử và cung cấp triển khai tham chiếu của giao diện này.

Tên phần tử, tên thuộc tính và giá trị thuộc tính có thể là chuỗi bytestrings hoặc unicode. Tag là tên phần tử. Attrible là một từ điển tùy chọn, chứa các thuộc tính phần tử. Thêm chứa các thuộc tính bổ sung, được đưa ra dưới dạng đối số từ khóa.

________ 138¶

Một chuỗi xác định loại dữ liệu mà phần tử này biểu diễn (loại phần tử, nói cách khác).

________ 139¶ ________ 140¶

Các thuộc tính này có thể được sử dụng để chứa dữ liệu bổ sung được liên kết với phần tử. Giá trị của chúng thường là chuỗi nhưng có thể là bất kỳ đối tượng dành riêng cho ứng dụng. Nếu phần tử được tạo từ tệp XML, thuộc tính văn bản sẽ giữ văn bản giữa thẻ bắt đầu của phần tử và thẻ con đầu tiên hoặc thẻ cuối , hoặc
root = ET.fromstring(country_data_as_string)
241. Đối với dữ liệu XML()¶()

Phần tử A có

root = ET.fromstring(country_data_as_string)
241 cho cả thuộc tính văn bản và đuôi, phần tử B có văn bản
root = ET.fromstring(country_data_as_string)
244 và đuôi
root = ET.fromstring(country_data_as_string)
245, phần tử C có văn bản
root = ET.fromstring(country_data_as_string)
246 và đuôi
root = ET.fromstring(country_data_as_string)
241 và phần tử D có văn bản
root = ET.fromstring(country_data_as_string)
241 và đuôi
root = ET.fromstring(country_data_as_string)
249.Để thu thập văn bản bên trong của một phần tử, hãy xem
root = ET.fromstring(country_data_as_string)
250, ví dụ
root = ET.fromstring(country_data_as_string)
251.(key, default=None)¶(key, default=None)

Các ứng dụng có thể lưu trữ các đối tượng tùy ý trong các thuộc tính này.

________ 152¶

________ 156 ()()¶()

Trả về các thuộc tính phần tử như một chuỗi của các cặp (tên, giá trị). Các thuộc tính được trả về theo thứ tự tùy ý.

________ 157 ()()¶()

Trả về tên thuộc tính phần tử làm danh sách. Các tên được trả lại theo thứ tự tùy ý.

________ 158 (khóa, giá trị) ¶(key, value)¶(key, value)

Đặt phím thuộc tính trên phần tử thành giá trị.

Các phương pháp sau đây hoạt động trên các yếu tố trẻ em (phụ).

________ 159 (Subelement) ¶(subelement)¶(subelement)

Thêm phần tử SubLement vào cuối danh sách nội bộ của các phần tử này.

________ 160 (SubElements) ¶(subelements)¶(subelements)

Nối các phần mềm từ một đối tượng chuỗi bằng 0 hoặc nhiều phần tử. Tăng

root = ET.fromstring(country_data_as_string)
261 nếu SubLement không phải là đối tượng hợp lệ.

Mới trong phiên bản 2.7.

________ 162 (trận đấu) ¶(match)¶(match)

Tìm các trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về một thể hiện phần tử hoặc

root = ET.fromstring(country_data_as_string)
241. ________ 164 (trận đấu) ¶(match)¶(match)

Tìm tất cả các phần mềm phù hợp, theo tên thẻ hoặc đường dẫn. Trả về một danh sách chứa tất cả các yếu tố phù hợp theo thứ tự tài liệu.

________ 165 (khớp, mặc định = không) ¶(match, default=None)¶(match, default=None)

Tìm văn bản cho trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về nội dung văn bản của phần tử khớp đầu tiên hoặc mặc định nếu không tìm thấy phần tử nào. Lưu ý rằng nếu phần tử phù hợp không có nội dung văn bản, một chuỗi trống được trả về.

________ 166 ()()¶()

Không dùng nữa kể từ phiên bản 2.7: Sử dụng

root = ET.fromstring(country_data_as_string)
267 hoặc lặp lại.Use

root = ET.fromstring(country_data_as_string)
267 or iteration. ________ 168 (tag = none) ¶(tag=None)¶(tag=None)

Thay vào đó không dùng nữa vì phiên bản 2.7: sử dụng phương thức

root = ET.fromstring(country_data_as_string)
01 thay thế.Use method

root = ET.fromstring(country_data_as_string)
0 1 instead. ________ 170 (chỉ mục, phần tử) ¶(index, element)¶(index, element)

Chèn một phần phụ tại vị trí đã cho trong yếu tố này.

________ 171 (tag = none) ¶(tag=None)¶(tag=None)

Tạo một bộ lặp cây với phần tử hiện tại là gốc. Trình lặp lặp lại trên phần tử này và tất cả các phần tử bên dưới nó, theo thứ tự tài liệu (độ sâu đầu tiên). Nếu thẻ không phải là

root = ET.fromstring(country_data_as_string)
241 hoặc
root = ET.fromstring(country_data_as_string)
273, chỉ các phần tử có thẻ bằng thẻ được trả về từ trình lặp. Nếu cấu trúc cây được sửa đổi trong quá trình lặp, kết quả không được xác định.iterator with the current element as the root. The iterator iterates over this element and all elements below it, in document (depth first) order. If tag is not
root = ET.fromstring(country_data_as_string)
241 or
root = ET.fromstring(country_data_as_string)
273, only elements whose tag equals tag are returned from the iterator. If the tree structure is modified during iteration, the result is undefined.iterator with the current element as the root. The iterator iterates over this element and all elements below it, in document (depth first) order. If tag is not
root = ET.fromstring(country_data_as_string)
241 or
root = ET.fromstring(country_data_as_string)
273, only elements whose tag equals tag are returned from the iterator. If the tree structure is modified during iteration, the result is undefined.

Mới trong phiên bản 2.7.

________ 162 (trận đấu) ¶(match)¶(match)

Tìm các trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về một thể hiện phần tử hoặc

root = ET.fromstring(country_data_as_string)
241.

Mới trong phiên bản 2.7.

________ 162 (trận đấu) ¶()¶()

Tìm các trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về một thể hiện phần tử hoặc

root = ET.fromstring(country_data_as_string)
241.

Mới trong phiên bản 2.7.

________ 162 (trận đấu) ¶()¶(tag, attrib)

Tìm các trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về một thể hiện phần tử hoặc

________ 162 (trận đấu) ¶(tag, attrib)¶(subelement)

Tìm tất cả các phần mềm phù hợp, theo tên thẻ hoặc đường dẫn. Trả về một danh sách chứa tất cả các yếu tố phù hợp theo thứ tự tài liệu.

________ 165 (khớp, mặc định = không) ¶(match, default=None)¶

Tìm văn bản cho trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về nội dung văn bản của phần tử khớp đầu tiên hoặc mặc định nếu không tìm thấy phần tử nào. Lưu ý rằng nếu phần tử phù hợp không có nội dung văn bản, một chuỗi trống được trả về.

root = ET.fromstring(country_data_as_string)
29

________ 166 ()()¶

Không dùng nữa kể từ phiên bản 2.7: Sử dụng (element=None, file=None)

root = ET.fromstring(country_data_as_string)
267 hoặc lặp lại.Use

Thay vào đó không dùng nữa vì phiên bản 2.7: sử dụng phương thức

root = ET.fromstring(country_data_as_string)
01 thay thế.Use method (element)

Chèn một phần phụ tại vị trí đã cho trong yếu tố này.

________ 162 (trận đấu) ¶(match)¶(match)

Tìm các trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về một thể hiện phần tử hoặc

root = ET.fromstring(country_data_as_string)
241. ________ 164 (trận đấu) ¶(match)¶(match)

Tìm tất cả các phần mềm phù hợp, theo tên thẻ hoặc đường dẫn. Trả về một danh sách chứa tất cả các yếu tố phù hợp theo thứ tự tài liệu.

________ 165 (khớp, mặc định = không) ¶(match, default=None)¶(match, default=None)

Tìm văn bản cho trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về nội dung văn bản của phần tử khớp đầu tiên hoặc mặc định nếu không tìm thấy phần tử nào. Lưu ý rằng nếu phần tử phù hợp không có nội dung văn bản, một chuỗi trống được trả về.

________ 166 ()()¶(tag=None)
root = ET.fromstring(country_data_as_string)
297()

Không dùng nữa kể từ phiên bản 2.7: Sử dụng

root = ET.fromstring(country_data_as_string)
267 hoặc lặp lại.Use (tag=None)

Tạo một bộ lặp cây với phần tử hiện tại là gốc. Trình lặp lặp lại trên phần tử này và tất cả các phần tử bên dưới nó, theo thứ tự tài liệu (độ sâu đầu tiên). Nếu thẻ không phải là

root = ET.fromstring(country_data_as_string)
241 hoặc
root = ET.fromstring(country_data_as_string)
273, chỉ các phần tử có thẻ bằng thẻ được trả về từ trình lặp. Nếu cấu trúc cây được sửa đổi trong quá trình lặp, kết quả không được xác định.iterator with the current element as the root. The iterator iterates over this element and all elements below it, in document (depth first) order. If tag is not
root = ET.fromstring(country_data_as_string)
241 or
root = ET.fromstring(country_data_as_string)
273, only elements whose tag equals tag are returned from the iterator. If the tree structure is modified during iteration, the result is undefined.(match)

Tìm các trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về một thể hiện phần tử hoặc

root = ET.fromstring(country_data_as_string)
241.

Mới trong phiên bản 2.7.

________ 162 (trận đấu) ¶(source, parser=None)¶(source, parser=None)

Tìm các trận đấu phù hợp đầu tiên của Subelement. khớp có thể là một tên thẻ hoặc đường dẫn. Trả về một thể hiện phần tử hoặc

root = ET.fromstring(country_data_as_string)
241. ________ 164 (trận đấu) ¶(file, encoding="us-ascii", xml_declaration=None, default_namespace=None, method="xml")¶(file, encoding="us-ascii", xml_declaration=None, default_namespace=None, method="xml")

Tìm tất cả các phần mềm phù hợp, theo tên thẻ hoặc đường dẫn. Trả về một danh sách chứa tất cả các yếu tố phù hợp theo thứ tự tài liệu.

Đây là tệp XML sẽ bị thao túng:

root = ET.fromstring(country_data_as_string)
0

Ví dụ về việc thay đổi thuộc tính Target Target của mỗi liên kết trong đoạn đầu tiên:

root = ET.fromstring(country_data_as_string)
1

19.7.3.4. Đối tượng QnameQName Objects¶

Lớp ________ 85 ________ 211 (text_or_uri, tag = none) ¶(text_or_uri, tag=None)¶(text_or_uri, tag=None)

QNAME WRAPPER. Điều này có thể được sử dụng để bọc giá trị thuộc tính Qname, để có được xử lý không gian tên thích hợp trên đầu ra. Text_or_uri là một chuỗi chứa giá trị qname, ở dạng {uri} cục bộ, hoặc, nếu đối số thẻ được đưa ra, phần URI của Qname. Nếu TAG được đưa ra, đối số đầu tiên được hiểu là một URI và đối số này được hiểu là một tên địa phương.

root = ET.fromstring(country_data_as_string)
12 Các trường hợp mờ đục.

19.7.3.5. Đối tượng TreeBuilderTreeBuilder Objects¶

Lớp ________ 85 ________ 214 (Element_Factory = none) ¶(element_factory=None)¶(element_factory=None)

Trình tạo cấu trúc phần tử chung. Nhà xây dựng này chuyển đổi một chuỗi các cuộc gọi phương thức bắt đầu, dữ liệu và kết thúc sang cấu trúc phần tử được hình thành tốt. Bạn có thể sử dụng lớp này để xây dựng cấu trúc phần tử bằng trình phân tích cú pháp XML tùy chỉnh hoặc trình phân tích cú pháp cho một số định dạng giống như XML khác. Element_factory được gọi để tạo các phiên bản

root = ET.fromstring(country_data_as_string)
3 mới khi được đưa ra. ________ 216 ()()¶()

Xóa các bộ đệm xây dựng và trả về yếu tố tài liệu Toplevel. Trả về một ví dụ

root = ET.fromstring(country_data_as_string)
3. ________ 218 (dữ liệu) ¶(data)¶(data)

Thêm văn bản vào phần tử hiện tại. Dữ liệu là một chuỗi. Điều này phải là một bytestring hoặc chuỗi unicode.

________ 219 (thẻ) ¶(tag)¶(tag)

Đóng phần tử hiện tại. Tag là tên phần tử. Trả về phần tử đóng.

________ 220 (thẻ, attrs) ¶(tag, attrs)¶(tag, attrs)

Mở một yếu tố mới. Tag là tên phần tử. Attrs là một từ điển chứa các thuộc tính phần tử. Trả về phần tử đã mở.

Ngoài ra, một đối tượng tùy chỉnh ____221 có thể cung cấp phương thức sau:

________ 222 (Tên, Pubid, System) ¶(name, pubid, system)¶(name, pubid, system)

Xử lý một tuyên bố doctype. Tên là tên doctype. PubID là định danh công khai. Hệ thống là định danh hệ thống. Phương pháp này không tồn tại trên lớp

root = ET.fromstring(country_data_as_string)
21 mặc định.

Mới trong phiên bản 2.7.

19.7.3.6. XMLPARSER Đối tượngXMLParser Objects¶

Lớp ________ 85 ________ 225 (html = 0, target = none, mã hóa = không) ¶(html=0, target=None, encoding=None)¶
root = ET.fromstring(country_data_as_string)
3 Trình tạo cấu trúc cho dữ liệu nguồn XML, dựa trên trình phân tích cú pháp người nước ngoài. HTML là các thực thể HTML được xác định trước. Cờ này không được hỗ trợ bởi việc thực hiện hiện tại. Mục tiêu là đối tượng đích. Nếu bị bỏ qua, người xây dựng sử dụng một thể hiện của lớp TreeBuilder tiêu chuẩn. Mã hóa 1 là tùy chọn. Nếu được đưa ra, giá trị ghi đè mã hóa được chỉ định trong tệp XML. ________ 216 ()()¶(html=0, target=None, encoding=None)
root = ET.fromstring(country_data_as_string)
3 Trình tạo cấu trúc cho dữ liệu nguồn XML, dựa trên trình phân tích cú pháp người nước ngoài. HTML là các thực thể HTML được xác định trước. Cờ này không được hỗ trợ bởi việc thực hiện hiện tại. Mục tiêu là đối tượng đích. Nếu bị bỏ qua, người xây dựng sử dụng một thể hiện của lớp TreeBuilder tiêu chuẩn. Mã hóa 1 là tùy chọn. Nếu được đưa ra, giá trị ghi đè mã hóa được chỉ định trong tệp XML. ________ 216 ()()

Xóa các bộ đệm xây dựng và trả về yếu tố tài liệu Toplevel. Trả về một ví dụ

root = ET.fromstring(country_data_as_string)
3. ________ 218 (dữ liệu) ¶(data)¶(name, pubid, system)

Xử lý một tuyên bố doctype. Tên là tên doctype. PubID là định danh công khai. Hệ thống là định danh hệ thống. Phương pháp này không tồn tại trên lớp

root = ET.fromstring(country_data_as_string)
21 mặc định.

19.7.3.6. XMLPARSER Đối tượngXMLParser Objects¶(data)

Lớp ________ 85 ________ 225 (html = 0, target = none, mã hóa = không) ¶(html=0, target=None, encoding=None)¶

root = ET.fromstring(country_data_as_string)
3 Trình tạo cấu trúc cho dữ liệu nguồn XML, dựa trên trình phân tích cú pháp người nước ngoài. HTML là các thực thể HTML được xác định trước. Cờ này không được hỗ trợ bởi việc thực hiện hiện tại. Mục tiêu là đối tượng đích. Nếu bị bỏ qua, người xây dựng sử dụng một thể hiện của lớp TreeBuilder tiêu chuẩn. Mã hóa 1 là tùy chọn. Nếu được đưa ra, giá trị ghi đè mã hóa được chỉ định trong tệp XML. ________ 216 ()()¶

root = ET.fromstring(country_data_as_string)
3. ________ 222 (Tên, Pubid, System) ¶(name, pubid, system)¶

root = ET.fromstring(country_data_as_string)
21 mặc định.Define the 1(1,2,3,4)(1,2,3,4)

root = ET.fromstring(country_data_as_string)
29 method on a custom TreeBuilder target.Mới trong phiên bản 2.7.(data)¶