jsonecho

XML Python 변환

XML 문서를 붙여 넣으면 그 구조에 맞는 Python 타입을 얻습니다.

도구를 불러오는 중...

XML Python 변환 사용 방법

  1. 대표적인 XML 샘플을 붙여 넣으세요. 가능하면 선택적 필드가 모두 채워진 것이 좋습니다.
  2. 루트 타입의 이름을 설정하고 헬퍼 코드도 원하는지 타입만 원하는지 결정하세요.
  3. 생성된 Python 코드를 프로젝트에 복사하세요.

XML Python 변환 소개

큰 XML 페이로드에 대한 모델 클래스를 직접 작성하는 일은 지루하고 오타가 끼어드는 곳입니다. 여기에 샘플을 붙여 넣으면 생성기가 구조를 파악합니다. 어떤 필드가 있고, 어떤 것이 객체이고, 어떤 것이 배열이며, 각 값이 어떤 타입인지입니다. 출력은 타입 힌트가 있는 데이터클래스와 from_dict, to_dict 헬퍼입니다.

XML은 먼저 XML JSON 변환 도구와 같은 방식으로 JSON으로 변환됩니다. 속성에는 @_ 접두사가 붙고 속성 옆의 텍스트 내용은 #text라고 부릅니다. Python 타입은 그 결과로 생성됩니다. 올바른 Python 식별자가 아닌 필드 이름은 변환되며 직렬화를 위해 원래 이름이 유지됩니다.

생성된 코드 사용하기

Root.from_dict(json.loads(text))를 호출하면 객체를 얻고, to_dict()로 되돌릴 수 있습니다.

선택적 필드는 typing 모듈의 Optional[T]를 사용하며 기본값은 None입니다.

자주 묻는 질문

생성된 Python 코드는 무엇에 의존하나요?

출력은 타입 힌트가 있는 데이터클래스와 from_dict, to_dict 헬퍼입니다.

결과로 XML을 파싱하려면 어떻게 하나요?

먼저 XML을 JSON으로 변환한 다음(XML JSON 변환 도구가 같은 방식으로 처리합니다) Root.from_dict(json.loads(text))를 호출하면 객체를 얻고, to_dict()로 되돌릴 수 있습니다.

선택적 필드와 없는 필드는 어떻게 처리되나요?

선택적 필드는 typing 모듈의 Optional[T]를 사용하며 기본값은 None입니다.

생성기가 둘 이상의 레코드를 살펴보나요?

샘플에 있는 것만 알 수 있습니다. 예시에 없는 필드는 타입에 나타나지 않고, 예시에서 값이 null이면 그 타입은 알 수 없습니다. 가능한 한 많은 필드가 채워진 예시를 붙여 넣거나 서로 다른 레코드가 여러 개 있는 배열을 붙여 넣으세요.

내 XML이 서버로 전송되나요?

아니요. 생성기는 처음 사용할 때 브라우저로 다운로드되며 크기는 약 1MB이고 모든 것이 로컬에서 실행됩니다.

데이터를 클래스로의 다른 도구

모든 도구 →