При попытке анализа очень большого XML-файла я столкнулся с ошибкой синтаксического анализа. Мне удалось сузить, что проблема была где-то в теге writeup
, и когда я перезапустил свой код только с этим разделом, он произвел следующую трассировку.
Traceback (most recent call last):
File "<input>", line 3, in <module>
File "path\to\Python\Python37-32\lib\xml\etree\ElementTree.py", line 1315, in XML
parser.feed(text)
File "<string>", line None
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 310
Когда я посмотрел на строку 1, столбец 310 в Atom, это просто N
, который не является запрещенным символом в XML. Почему эта проблема появляется и как я могу это исправить?
Код
from xml.etree import ElementTree as etree
xml = """<writeup><p>sVw*f4FgT9`|wXNz!x)McB})KDh*0O"47BKR;G4F3]p3!-?n!\'%_sP:3WuGw44yTGF""Mf=8d34:Pb0pCZF](d%+(V\'M3-i*Dr:#sS/o*[_Z$"8%F*H6_lr&gt;I#lmd/RIUskV9@Ba\\poJ&lt;GVG]5CVIeJJytI7]q{pJQLF/&amp;N:kYrJ^3s"aCdHupx@_/Ool9qfo1.?$cdd&gt;u{Xi|yQyPahZ88ayU;DX[eDr9p?G)"*I^VG4xvJjZDCTUr1@qE6e=By_^YINk!\x02~eU3v1(pgU-\\"(*)[dg#}cVG&gt;2b=P-uH9z?fOS9amy\'e~ZO,2?,^cAWpt;jo+`p/D`B&gt;&gt;NLDqhN~&lt;"=_"DU0V^kqDTN=7EWZL|ax&amp;7dn&gt;]u1C)-[}~wuS",je`OOGIwT1g.jSe:3!tn^E2z!|4)B+rUV@6&amp;~,(iv,A%`W_\')E"kdD({ppNuPts%P%/Gi;`Hx-P/}WX(\\&amp;N2[pSy=\'9D1b?XNKG*E.@v3riX]Dq@8EEt;OA3:Uav3\'2^\\r;|Ck75}inlV)TrTFGgsI{wLx/KrmehxiwK*9^"UGa8DAV?wd~\\)gP4!r}(Y0Sx^ssxS^6zx4)#XS7|.bxFbV`t\\D,w\\YqW+&amp;%v)+&amp;fFtl]g28M61m34gD=|w{~OmjKbJr1QOI7I%]X\'m*r-p=sUeE.L-"rXR`L&gt;,nz{%\';3VY:aAKQa~ngm"Sx$3RxB!AH$O^t1&lt;9~t}ujaZ}D2\'*\\b}gGMBg4,`m9WL0Eo</p></writeup>"""
root = etree.fromstring(xml)