파이썬에서 xml 원소의 특정 속성(attrib) 검색

파이썬에서 xml 파일에 대해 특정 속성을 지닌 원소 검색을 해 보겠습니다. test.xml 파일의 내용은 아래와 같습니다.

<?xml version="1.0"?>
<data>
  <student name="Bob">
    <math score="95"></math>
    <physics score="90"></physics>
  </student>
  <student name="Alice">
    <math score="91"></math>
    <physics score="97"></physics>
  </student>
</data>

예를 들어 루트 하위에 있는 student 태그의 속성 name 값이 Bob인 원소를 찾고 싶다면 아래와 같이 할 수 있습니다.

search_name_res = root.find("./student/[@name='Bob'])
print(search_name_res.attrib)

{'name': 'Bob'}

만약 Bob의 수학 점수를 찾고 싶다면 아래와 같이 할 수 있겠습니다.

search_math_res = root.find("./student/[@name='Bob']/math")
print(search_math_res.tag, search_math_res.attrib)

math {'score': '95'}


@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다.

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트


Posted through the AVLE Dapp (https://avle.io)

Sort:  

Thank you, friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.13
TRX 0.33
JST 0.034
BTC 112031.02
ETH 4328.56
SBD 0.84