2011-06-30 15 views
5

Tôi đang gặp sự cố khi xuất hiện ngay cả các cá thể Yếu tố (Cây) đơn giản nhất. Nếu tôi cố gắng đoạn mã sau vào Python 2.7.1Không thể đổ hoặc viết một phần tử ElementTree

>>> from xml.etree.ElementTree import Element, SubElement, tostring 
>>> root = Element('parent') 
>>> child = Element('child') 
>>> SubElement(root, child) 
>>> tostring(root) 

tôi nhận được một lỗi:

TypeError: cannot serialize <Element 'root' at 0x9a7c7ec> (type Element) 

Tôi phải làm gì đó sai, nhưng các tài liệu không được chỉ cho tôi tại bất cứ điều gì rõ ràng.

Trả lời

8

SubElement không mất một yếu tố như tham số thứ hai. Các API docs cho chữ ký như

SubElement(parent, tag, attrib={}, **extra) 

tức là tham số thứ hai là thẻ (ví dụ tên) của phần tử phụ

các ElementTree docs cho biết thêm chi tiết

Để thêm một cái nhìn phần tử con tại append phương pháp trên Element ví dụ

root.append(child) 
1

SubElement Tham số thứ hai là một chuỗi - tên của thẻ bạn muốn thêm vào phần tử gốc. Bạn có thể muốn append hoặc insert nếu bạn đang xử lý Element s.

Các vấn đề liên quan