2016-07-19 8 views
0

eツリーを使用して特定の属性の値を取得するためのXML文書があります。以下 は、私が持っている文書・スニペットです:Eツリーを使用して特定の属性の値を取得する

-<orcid-message> 
    <message-version>1.2</message-version> 
    -<orcid-profile type="user"> 
    -<orcid-identifier> 
     <uri>http://orcid.org/0000-0001-5105-9000</uri> 
     <path>0000-0001-5105-9000</path> 

私は私がこれまで試してみました唯一の「パス」 の値を取得したい:

tree = ET.parse(file) 
root = tree.getroot() 
for element in root: 
    for all_tags in element.findall('.//'): 
     if all_tags.text: 
      print all_tags.text, '|', all_tags.tail 

は、私だけを取得するために何をすべき「パス」

+0

Element.getを試しましたか?例: 'Element.get( 'path')' – Maximus

+0

私はeツリーからElementをインプリメントしました:xml.etree.ElementTreeからの import Element、SubElement、Comment path = SubElement.get( 'path') path = Element.get( 'パス ') 印刷(パス) しかし、これは動作していません。 – user3419487

答えて

0

の値は、次の例のように、あなたが選ぶしたい要素へのパスを持つ要素のクラスのfindメソッドを使用することができます。

+0

私はコードを試しましたが、このエラーが発生します:AttributeError: 'NoneType'オブジェクトに属性 'text'がありません – user3419487

+0

root.findへの引数が間違っていることを示唆します - あなたのfull xmlあなたの質問のスニペットにあるものと同じファイルですか? –

+0

はい、それは同じです。 – user3419487

関連する問題