jsonecho

XML C# 변환

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

도구를 불러오는 중...

XML C# 변환 사용 방법

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

XML C# 변환 소개

큰 XML 페이로드에 대한 모델 클래스를 직접 작성하는 일은 지루하고 오타가 끼어드는 곳입니다. 여기에 샘플을 붙여 넣으면 생성기가 구조를 파악합니다. 어떤 필드가 있고, 어떤 것이 객체이고, 어떤 것이 배열이며, 각 값이 어떤 타입인지입니다. 출력은 프로퍼티가 있는 클래스입니다. "타입만"의 선택을 해제하면 출력에 Newtonsoft.Json 어트리뷰트와 Converter 클래스가 추가됩니다.

XML은 먼저 XML JSON 변환 도구와 같은 방식으로 JSON으로 변환됩니다. 속성에는 @_ 접두사가 붙고 속성 옆의 텍스트 내용은 #text라고 부릅니다. C# 타입은 그 결과로 생성됩니다. 프로퍼티 이름은 PascalCase로 변환되고 원래 키가 보존되도록 JsonProperty 어트리뷰트가 붙습니다.

생성된 코드 사용하기

헬퍼가 있다면 Root.FromJson(json)을 호출하세요. 타입만 있다면 System.Text.Json의 JsonSerializer.Deserialize<Root>(json)를 사용하고 이름이 다르면 어트리뷰트를 추가하세요.

null 가능 멤버는 long?, double? 등을 사용하며 해당하는 경우 null 허용 참조 타입도 사용합니다.

자주 묻는 질문

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

출력은 프로퍼티가 있는 클래스입니다. "타입만"의 선택을 해제하면 출력에 Newtonsoft.Json 어트리뷰트와 Converter 클래스가 추가됩니다.

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

먼저 XML을 JSON으로 변환한 다음(XML JSON 변환 도구가 같은 방식으로 처리합니다) 헬퍼가 있다면 Root.FromJson(json)을 호출하세요. 타입만 있다면 System.Text.Json의 JsonSerializer.Deserialize<Root>(json)를 사용하고 이름이 다르면 어트리뷰트를 추가하세요.

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

null 가능 멤버는 long?, double? 등을 사용하며 해당하는 경우 null 허용 참조 타입도 사용합니다.

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

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

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

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

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

모든 도구 →