Đang cố gắng để phân tích tập tin XML vào ElementTree:Python XML: ParseError: rác sau khi yếu tố tài liệu
>>> import xml.etree.cElementTree as ET
>>> tree = ET.ElementTree(file='D:\Temp\Slikvideo\JPEG\SV_4_1_mask\index.xml')
tôi nhận được lỗi sau:
Traceback (most recent call last): File "", line 1, in File "C:\Program Files\Anaconda2\lib\xml\etree\ElementTree.py", line 611, in init self.parse(file) File "", line 38, in parse ParseError: junk after document element: line 3, column 0
tập tin XML bắt đầu như thế này:
<?xml version="1.0" encoding="UTF-8" ?>
<Version Writer="E:\d\src\Modules\SceneSerialization\src\mitkSceneIO.cpp" Revision="$Revision: 17055 $" FileVersion="1" />
<node UID="OBJECT_2016080819041580480127">
<source UID="OBJECT_2016080819041550469454" />
<data type="LabelSetImage" file="hfbaaa_Bolus.nrrd" />
<properties file="sicaaa" />
</node>
<node UID="OBJECT_2016080819041512769572">
<source UID="OBJECT_2016080819041598947781" />
<data type="LabelSetImage" file="ifbaaa_Bolus.nrrd" />
<properties file="ticaaa" />
</node>
được theo sau bởi nhiều nút khác.
Tôi không thấy bất kỳ thư rác nào trong dòng 3, cột 0? Tôi cho rằng phải có một lý do khác cho lỗi này.
Tệp .xml được tạo bởi phần mềm bên ngoài MITK vì vậy tôi cho rằng điều đó sẽ ổn.
Làm việc trên Win 7, 64 bit, VS2015, Anaconda
XML đó không được định dạng đúng. Không có phần tử gốc chứa tất cả các phần tử khác. –
Không liên quan đến câu hỏi, bạn nên xem xét việc thoát chuỗi ký tự đường dẫn Windows ("... \\ ...") hoặc sử dụng chuỗi thô (r "... \ ..."). –
@Martin: cảm ơn, đồng ý. Thực hiện điều đó trong các phần khác của mã. – jdelange