2017-05-27 15 views
-1

以下の.gxlファイルでは、attrの名前がのコンテンツが必要です。 どうすれば入手できますか?特定の属性名をXMLファイルから解析するにはどうすればよいですか?

for node in tree.findall(".//node/attr/int"): 

をしかし、それは同様のattr名"charge"と1を与えている:

私はこれを試してみました。

<gxl> 
<graph id="molid164" edgeids="false" edgemode="undirected"> 
<node id="_1"> 
<attr name="symbol"> 
<string>C </string> 
</attr> 
<attr name="chem"> 
<int>1</int> 
</attr> 
<attr name="charge"> 
<int>0</int> 
</attr> 
<attr name="x"> 
<float>3.7321</float> 
</attr> 
<attr name="y"> 
<float>0.25</float> 
</attr> 
</node> 

答えて

0

ツリーがElementTreeの場合は、xpathを使用できます。

for node in tree.findall(".//node/attr/int[@name='chem']") 
+1

私は( ".//ノード/ ATTR [名@ = 'CHEM']/INT") ' – cco

+0

ああ、正しい式がtree.findall内のノードのために'だと思います、はい、私の例が間違っていました。 – brodeur

関連する問題