Hướng dẫn replace text in xml python - thay thế văn bản trong xml python
Làm cách nào để tìm kiếm toàn bộ tệp XML cho một mẫu văn bản cụ thể và sau đó thay thế từng lần xuất hiện của văn bản đó bằng mẫu văn bản mới trong Python 3.5?xml file for a specific text pattern and then replace each occurrence of that text with new text pattern in Python 3.5? Mọi thứ khác (định dạng, thuộc tính, nhận xét, v.v.) cần phải duy trì như trong tệp XML gốc. Tôi đang chạy Python 3.5.1 trên Windows (Win32). Cụ thể, tôi muốn thay thế từng lần xuất hiện "tên tính năng" bằng "hoạt động này" và thay thế từng lần xuất hiện "số tính năng" bằng "12345". Tôi đã cố gắng học Python và xml.etree.elementtree nhưng không thể tìm ra điều này. Tôi đã xem "Tìm kiếm và thay thế một dòng trong tệp .xml trong Python", "Tìm kiếm và thay thế một dòng trong một tệp trong Python" và "Cách tìm kiếm và thay thế văn bản trong một tệp bằng Python?" Và các Q/A hiện có khác trên trang web này nhưng không thể tìm ra điều này - Tôi không phải là một lập trình viên có kinh nghiệm, vì vậy xin vui lòng cho tôi biết nếu cần thêm đầu vào. Giúp đỡ của bạn được đánh giá rất cao!!! Dưới đây là một bản sao của mã XML trông như thế nào khi tôi mở nó trong Notepad (ngoại trừ tôi đã thêm khoảng trống để thụt lên từng dòng và nhấn trả lại cho một số dòng khi tôi dán nó vào câu hỏi này):
Đây là mã mới nhất tôi đang cố gắng làm việc:
Tôi nhận được lỗi sau: Traceback (cuộc gọi gần đây nhất) ') .Text =' 12345 ' Thuộc tínhError: đối tượng 'nonetype' không có thuộc tính 'văn bản' Tôi muốn có thể tìm kiếm và sửa đổi bất kỳ lần xuất hiện nào trong toàn bộ tệp, nhưng tôi không thể tìm ra cách để có được một lần xuất hiện cụ thể của văn bản mà tôi đang tìm kiếm. Đây là mã tôi đã cố gắng sử dụng để tìm đường dẫn:
Tôi cũng đã thử mã sau:
Nhưng điều đó gây ra lỗi sau:
UnicodedEcodeError: codec 'Charmap' không thể giải mã byte 0x9d ở vị trí 1119: Bản đồ ký tự để # # Cập nhật cuối cùng - Đây là mã hoạt động cho tôi cuối cùng (cảm ơn bạn, Jarad!): |