파이썬 xml 내용 수정
조회수 2401회
xml.etree.ElementTree 를 사용하여 아래와 같은 xml 파일을 수정하고 싶습니다.
<?xml version="1.0" encoding="UTF-8"?>
<FAMILY
CATEGORY = "Old Category"
NAME = "Old Name"
>
그런데,
import xml.etree.ElementTree import parse
xml = parse(file)
root = xml.getroot()
category = root.get('CATEGORY')
name = root.get('NAME')
category = "New Category"
name = "New Name"
xml.write(file)
과 같은 형태로 실행하니 처음에 썼던 들여쓰기나 줄바꿈이 다 날라가 있네요 ㅠㅠ 또 맨 첫줄에 <? ?> 이 부분도 날라갑니다... 파이썬에서 xml 파일 수정하는 더 나은 방법이 있을까요?
1 답변
-
- 줄바꿈을 쓰고 싶으면 lxml이라는 걸 쓰라고 합니다.
- 맨 첫줄의 Declaration을 넣으려면 공식문서에 나와 있는 대로
write()
메소드를 이렇게 쓰라고 합니다.
xml.write(file, encoding="utf-8", xml_declaration=True)
댓글 입력