INSPECT
[XML parsing] AndroidManifest.xml 파싱 본문
[XML parsing] AndroidManifest.xml 파싱
AndroidManifest.xml 파일을 파싱하기 위해 찾아본 결과 python에 xml파싱 라이브러리가 존재했다. 그 중 ElementTree라는 라이브러리를 가장 많이 쓰는 것 같았다.
xml파일의 내용은 위와 같고 나는 여기서 permission, receiver, service별로 파싱하고 싶었다.
note는 문서의 최상단 태그를 가리키게 된다.
태그를 탐색하는 함수는 기본적으로 find와 findall이 있는데 note.find라고 쓴다면 root안에서만 태그를 탐색하고 그 하위 자식태그들은 탐색하지 못한다.
iter은 반복적으로 모든 자식의 태그까지 탐색한다. 그리하여 ()안의 태그를 찾는다. 나는 복잡하게 하기 싫어서 iter로 모두 찾아보았다.
attrib는 속성을 가리키는데 namespace와 요소값이 함께 맵 형태로 저장되어있는 것을 확인 할 수 있었다.
namespace가 포함된 문서를 따로 다루는 방법도 있지만 위의 결과를 보니 더 쉽게 할 수 있을 것 같았다.
맵 형태로 namespace가 key로 저장되어있고 내가 원하는 값들이 value에 저장되어있으니 단순히 values()를 써서 뽑아왔다.
결과는 위처럼 리스트형태로 나온다. 따라서 [0]을 써줘서 조금더 깔끔해 보이게 완성했다.
'Python' 카테고리의 다른 글
[Python+GAE+Telegram Bot 오버워치 전적검색기]-1 (0) | 2016.09.13 |
---|---|
[PEfile Module] 사용 (0) | 2016.05.05 |
[os.walk] 특정 디렉터리의 모든 파일명 알아오기 (0) | 2016.01.23 |
pyautoit을 활용한 자동설치 (0) | 2016.01.17 |
Beautiful Soup를 이용한 Parsing (0) | 2016.01.17 |
Comments