2013-04-28 10 views
0

일부 XML을 구문 분석하려고하는데 오류 메시지가 나타납니다. 조금 뒤돌아 보면 소스 텍스트에 특수 문자가있는 것 같아요. (복구 = True)를 파서 라인에 넣어야합니다. 그러나 정확한 위치를 알지 못합니다. 다른 사람이 볼 수 있었습니까? 파이썬과XML 구문 분석기, recover = True?

ParseError: not well-formed (invalid token): line 103, column 225 
+0

코드에 탭과 공백을 섞습니다. 코드가 제대로 들여 쓰기되도록 질문을 수정하십시오. 탭과 공백을 혼합하는 것은 소스 코드에서도 피해야합니다. –

답변

0

메신저 익숙하지하지만 난이 사용하는 C#을 같은 문제를 했어 :

for name in newlist: 
tree = ET.parse(loc + name)  

root = tree.getroot()   

for post in root.findall('post'): 

    text = post.text     

    text = text.strip()      

    posts.append(text) 

내가 오류입니다. xml 형식이 올바르지 않기 때문일 수 있습니다. 일반적으로 XML 파일의 첫 번째 줄은

<?xml version="1.0" encoding="UTF-8" ?> 

같은 버전을 뭔가를 포함하고 문자가 허용되는 파서 지시로 인코딩은 중요하다. UTF-8이 기본값이지만 xml 파일에 ASCII가 아닌 문자가 포함되어이 파일을 열 때가 있습니다. 인코딩을 UTF-16으로 변경하면이 문제가 해결되는 경우가 있습니다.

행운을 빌어 요.

+0

문제는 20.000 xml 파일을 다루고 있으며, 수동으로 xml 파일을 수정하는 데 며칠이 걸릴 것이라고합니다. – Shifu

+0

당신에게 말할 게 확실하지 않습니다. 나는 그 중 하나를 고치고 그것이 효과가 있는지보기 위해 노력할 것입니다. 만약 그렇다면 적어도 당신은 대답을 알고 어디로 가야합니까? 내 경우 XML 파일은 내가 생성 한 파일이 아니기 때문에 코드의 형식을 재정의 할 수있었습니다. 그들은 제 3 자로부터 왔습니다. –

+0

내가 말했듯이, 나는 파이썬 프로그래머가 아니므로 그 부분을 도와 줄 수 없다. 그냥 C에서 비슷한 문제로 내 경험을 공유하려고 시도 # –