XMLファイルを解析しようとしているのは、存在するかどうかによって異なります。XMLファイルを解析するタグは、存在するかどうかによって異なります。
例外ハンドラを使用せずにこのIndexErrorを回避する方法はありますか?
Pythonスクリプト:
#!/usr/bin/python3
from xml.dom import minidom
doc = minidom.parse("Data.xml")
persons = doc.getElementsByTagName("person")
for person in persons:
print(person.getElementsByTagName("phone")[0].firstChild.data)
data.xmlに:
<?xml version="1.0" encoding="UTF-8"?>
<obo>
<Persons>
<person>
<id>XA123</id>
<first_name>Adam</first_name>
<last_name>John</last_name>
<phone>01-12322222</phone>
</person>
<person>
<id>XA7777</id>
<first_name>Anna</first_name>
<last_name>Watson</last_name>
<relationship>
<type>Friends</type>
<to>XA123</to>
</relationship>
<!--<phone>01-12322222</phone>-->
</person>
</Persons>
</obo>
と私ははIndexErrorを得る:
01-12322222
Traceback (most recent call last):
File "XML->Neo4j-try.py", line 29, in <module>
print(person.getElementsByTagName("phone")[0].firstChild.data)
IndexError: list index out of range
あなたが使用したいいけない理由例外ハンドラ?私はそれが良い方法だと思う。 If-else節をusrにすると、レベルが存在するかどうかを確認できます。しかし、この方法は本当に力学的ではありません。あなたはどれくらいのレベルがあるか分からないかもしれません。 – trantu
私は大きなXMLファイルを持っています - 私は思う - 多くの例外ハンドラがある場合、解析するために長い時間がかかりますplzチェック[this](http://stackoverflow.com/questions/37022525/loading-data-to-neo4j -from-xml-using-py2neo) – Zingo