ElementTree를 사용하여 XML 설정 파일에 문제가 있습니다. XML Tree의 어디에 있든 관계없이 요소의 텍스트를 쉽게 찾을 수있는 방법을 원합니다. 설명서에서 말하는대로, findtext()를 사용하여이 작업을 수행 할 수 있어야하지만, 아무리해도 반환 값은 없습니다. 내가 여기서 어디로 잘못 가고 있니? 모든 사람들은 XML이 파이썬에서 다루기가 너무 간단하다는 것을 말하고 있었지만 아직 문제는 없었습니다.Python ElementTree
configFileName = 'file.xml'
def configSet (x):
if os.path.exists(configFileName):
tree = ET.parse(configFileName)
root = tree.getroot()
return root.findtext(x)
hiTemp = configSet('hiTemp')
print hiTemp
와 XML
<configData>
<units>
<temp>F</temp>
</units>
<pins>
<lights>1</lights>
<fan>2</fan>
<co2>3</co2>
</pins>
<events>
<airTemps>
<hiTemp>80</hiTemp>
<lowTemp>72</lowTemp>
<hiTempAlarm>84</hiTempAlarm>
</airTemps>
<CO2>
<co2Hi>1500</co2Hi>
<co2Low>1400</co2Low>
<co2Alarm>600</co2Alarm>
</CO2>
</events>
<settings>
<apikeys>
<prowl>
<apikey>None</apikey>
</prowl>
</apikeys>
</settings>
예상 된 결과
80
실제 결과
None
'os.path.exists (configFileName)'은'False'를 반환 할 수 있습니다. 'else : IOError ("파일을 찾을 수 없습니다.")를 추가하여 그럴 수 있는지 확인하십시오. – jonrsharpe
파일을 찾는 중입니다. 반환 루트를 수행 할 수 있고 부모 요소를 제공하기 때문입니다. – jslay