xml
1<Country> 2 <Asia Name="Japan"> 3 <Area>378,000 km^2</Area> 4 <Population>127.8 million</Population> 5 </Asia> 6 <Asia Name="South Korea"> 7 <Area>100,200 km^2</Area> 8 <Population>51.45 million</Population> 9 </Asia> 10 <Asia Name="China"> 11 <Area>9.597 million km^2</Area> 12 <Population>1.404 billion</Population> 13 </Asia> 14</Country>
例えば、以上のようなXMLファイルがあったとして、Python3系で国名をinputで取得した後、Asiaタグの属性に一致する国の情報を表示するプログラムを作りたいのですが、取得した国名で属性をサーチする方法がいまいち思いつきません。
python
1# -*- coding: utf-8 -*- 2 3from xml.etree import ElementTree 4 5def main(): 6 7 xmlfile = "country.xml" 8 9 tree = ElementTree.parse(xmlfile) 10 root = tree.getroot() 11 12 Search = input("国名を入力:") 13 14 a = root.find(".//Asia[@Name='Search']") 15 for i in a: 16 print(i.tag, i.text) 17 18if __name__ == "__main__": 19 main()
中ほどのa = root.find(".//Asia[@Name='Search']")
での書き方に一工夫がいるところまでは把握できているのですが、ここからの部分で行き詰っています。
よろしくお願いします。
思いつきません、ではなく少なくとも一度は自分でコードを書いてみてください。まずは「XMLデータを読み込む」からスタートしてみてはいかがでしょうか。
ご指摘いただきありがとうございます! 解決いたしました。
回答1件
あなたの回答
tips
プレビュー