1
類似の名前のタグに直面したときにxmlリーダーが最初のタグをスキップするように、以下のxmlを選択的に読み取る方法。xmlファイルを選択的に読み取る方法
<paraphrase_candidates source_description="id:9249">
<annotation author="87" is_paraphrase="true" source_description="id:18689" >
<phenomenon type="lex_same_polarity" projection="local" source_description="id:5528">
<snippet id="16488" >
<scope offset="125" length="4"/>
</snippet>
<snippet id="16489" >
<scope offset="71" length="11"/>
</snippet>
</phenomenon>
<phenomenon type="syn_diathesis" source_description="id:5536">
<snippet id="16488" >
<scope offset="32" length="92"/>
</snippet>
<scope offset="0" length="70"/>
</phenomenon>
</annotation>
</paraphrase_candidates>
具体的には、私は最初の現象タグをスキップして、第2の現象タグのscope属性を取得したいと思います。
My attempts
for x in root.findall('scope'):
print x.attrib[0]
出力:空
予想される出力:scope
はあなたのXMLにroot
の直接の子ではないので{offset="32" length="92"} and {offset="0" length="70}
第二
phenomenon
からのみscope
の要素を取得するには、あなたは位置インデックスの述語を(0ではない、1からそのXPathの位置インデックスの開始点に注意してください)を使用することができますソリューションのおかげで、それはうまくいった。 – Boby
xmlファイルのhttpが先行している場合、どのように動作させるか。 ' ' –
Boby
@Boby、" xpath default namespace "を検索してください。それは名前空間と呼ばれる "http"と呼ばれていません。また、コメントを使用してフォローアップの質問をしないでください。新しい質問を提起してください。ああ、答えがうまくいったら、それを受け入れるべきです(目盛りをクリックしてください)。 –