「Python」XMLを解析し、XML子要素を取得するサンプルコード

環境
Python 3.9.2
PyCharm 2021.3.3

構文
root = tree.getroot()
for cf in root:
子要素を取得するには、XMLを「getroot」で取得したルート変数「root」を「for in」で1つずつ取り出します。
tag:子要素のタグ
attrib:子要素の属性

xmlコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?xml version="1.0" encoding="UTF-8" ?>
<nams>
<nam no="111">
<name>aa</name>
<dp>china</dp>
</nam>
<nam no="222">
<name>bb</name>
<dp>kawasaki</dp>
</nam>
</nams>
<?xml version="1.0" encoding="UTF-8" ?> <nams> <nam no="111"> <name>aa</name> <dp>china</dp> </nam> <nam no="222"> <name>bb</name> <dp>kawasaki</dp> </nam> </nams>
<?xml version="1.0" encoding="UTF-8" ?>
<nams>
  <nam no="111">
    <name>aa</name>
    <dp>china</dp>
  </nam>
  <nam no="222">
    <name>bb</name>
    <dp>kawasaki</dp>
  </nam>
</nams>

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import xml.etree.ElementTree as ET
# XMLファイルを解析
tree = ET.parse('C:\\site\kk\\88.xml')
# XML 子要素を取得する
root = tree.getroot()
#子要素のタグ
for cf in root:
print(cf.tag, cf.attrib) #子要素の属性
import xml.etree.ElementTree as ET # XMLファイルを解析 tree = ET.parse('C:\\site\kk\\88.xml') # XML 子要素を取得する root = tree.getroot() #子要素のタグ for cf in root: print(cf.tag, cf.attrib) #子要素の属性
import xml.etree.ElementTree as ET

# XMLファイルを解析
tree = ET.parse('C:\\site\kk\\88.xml')

# XML 子要素を取得する
root = tree.getroot()
#子要素のタグ
for cf in root:
    print(cf.tag, cf.attrib) #子要素の属性

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nam {'no': '111'}
nam {'no': '222'}
nam {'no': '111'} nam {'no': '222'}
nam {'no': '111'}
nam {'no': '222'}

 

Python

Posted by arkgame