파이썬 xml 파싱 예제

파이썬 xml 파싱 예제

SAX API 문서에 대한 자세한 내용은 표준 파이썬 SAX API를 참조하십시오. 파이썬은 웹 및 데이터 분석을위한 인기있는 언어이기 때문에 어떤 시점에서 XML 데이터를 읽거나 작성해야합니다. 파이썬 모듈 사용 : 이 문서는 XML을 구문 분석하기 위해 파이썬에서 붙박이 xml 모듈을 사용하는 데 초점을 맞출 것이며 주요 초점은이 모듈의 ElementTree XML API에 있습니다. 파이썬 사전에 저장된 여러 특성. 또 다른 가능성을 추가하기 위해 간단한 xml – 파이썬 개체 라이브러리이기 때문에 엉킴을 사용할 수 있습니다. 여기에 비차단 응용 프로그램에 적합한 풀 파서가 있습니다. 입력 측 API는 XMLParser의 API와 유사하지만 콜백 대상에 대한 호출을 푸시하는 대신 XMLPullParser는 구문 분석 이벤트의 내부 목록을 수집하고 사용자가 이를 읽을 수 있도록 합니다. 이벤트는 다시 보고할 이벤트 의 시퀀스입니다. 지원되는 이벤트는 문자열 “시작”, “끝”, “시작-ns” 및 “end-ns”(“ns” 이벤트는 자세한 네임스페이스 정보를 얻는 데 사용됩니다)입니다. 이벤트가 생략된 경우 “종료” 이벤트만 보고됩니다. 파이썬 시퀀스 ElementTree에 저장된 여러 자식 요소는 XML 파일에 데이터를 작성하는 데에도 유용합니다.

아래 코드는 이전 예제에서 사용한 파일과 동일한 구조의 XML 파일을 만드는 방법을 보여 주며 있습니다. 이 문서에서ElementTree 모듈은 모든 예제에서 사용되지만 미니돔도 시연되지만 XML 문서를 계산하고 읽는 데만 사용됩니다. 파이썬 데이터 구조로 구문 분석하는 것은 간단합니다: 요소의 특성을 포함하는 사전입니다. attrib 값은 항상 실제 가변 파이썬 사전이지만 ElementTree 구현은 다른 내부 표현을 사용하도록 선택하고 누군가가 요청하는 경우에만 사전을 만들 수 있습니다. 이러한 구현을 활용하려면 가능하면 아래 사전 메서드를 사용하십시오. 파이썬을 사용하면 한 번에 한 줄이 아니라 한 번에 전체 XML 문서를 구문 분석할 수 있습니다. XML 문서를 구문 분석하려면 전체 문서를 메모리에 있어야 합니다. XML 트리의 모든 요소는 원하는 특성에 대해 검사됩니다. ~ 100MB XML 파일에서 호출하면 이 스크립트를 실행하는 Python 프로세스의 최대 메모리 사용량은 ~560MB이며 실행하는 데 2.9 초가 걸립니다.

이 XML 예제를 검색하고 탐색하는 한 가지 방법은 find() 또는 findall(findall)의 xpath에 있는 모든 태그 또는 특성에 URI를 수동으로 추가하는 것입니다. ElementTree를 사용하면 작업하기 쉬운 트리 구조에서 XML 문서를 분해합니다. 의심스러운 경우 인쇄(print(루트, 인코딩=utf8`).디코딩(`utf8`))))을 인쇄하십시오. XML에서 편집, 추가 또는 제거할 때 확인하는 데 도움이 됩니다. XML 입력의 모든 요소가 구문 분석된 트리의 요소로 끝나는 것은 아닙니다. 현재 이 모듈은 입력의 모든 XML 주석, 처리 명령 및 문서 유형 선언을 건너뜁니다. 그럼에도 불구하고 XML 텍스트에서 구문 분석하는 대신 이 모듈의 API를 사용하여 빌드된 트리에는 주석 및 처리 지침이 있을 수 있습니다. XML 출력을 생성할 때 포함됩니다.

Share this post