2017-11-20 10 views

답변

1

나는 무엇을하려고하는지 잘 모르겠습니다. XML을 파싱하는 중이고 인덱스를 기반으로하는 XML 요소 중 하나에서 텍스트를 가져 오려고하는 것으로 알고 있습니다. 대신 XPath searching을 사용할 수 있다고 생각합니다. xml 대신 xml을 구문 분석하기 위해 lxml 모듈을 사용하면 더 효과적입니다. Here은 lxml의 XPath 사용에 대한 설명입니다.

어쨌든 인덱스 사용을 선호한다면 특정 인덱스 아래에 요소가 있는지 확인할 필요가 없습니다. 인덱스가 존재하지 않으면 블록을 제외하고 try를 사용하여 오류를 포착하십시오.

This answers에는 이러한 접근 방식을 사용해야하는 이유가 자세히 나와 있습니다.

그리고 당신의 코드는 다음과 다소 볼 수 있습니다 :

tree = ET.parse(file) 
root = tree.getroot() 
try: 
    text = root[0][1][0].text 
except IndexError as e: 
    #do something to handle error 
    pass