"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JAXB에서 키를 요소 이름으로 사용하여 XML에 대한 맵을 마샬링하는 방법은 무엇입니까?

JAXB에서 키를 요소 이름으로 사용하여 XML에 대한 맵을 마샬링하는 방법은 무엇입니까?

2024년 11월 14일에 게시됨
검색:297

How to Marshall a Map to XML with Key as Element Name in JAXB?

키를 요소 이름으로 사용하여 XML로 맵 마샬링

JAXB는 객체를 XML로 매핑하는 편리한 방법을 제공합니다. 그러나 지도의 경우 일반적으로 요소가 포함된 중첩된 요소가 있는 구조로 마샬링됩니다.

경우에 따라 Map to XML을 다음과 같이 마샬링할 수도 있습니다. 키는 요소 이름으로, 값은 요소 내용으로 사용됩니다.

동적 속성 이름 처리

사용자 정의 마샬링 및 역마샬링을 처리하기 위해 JAXB 개발자가 제공하는 권장 접근 방식에는 XmlAdapter. 그러나 동적 속성 이름을 처리하기 위해 어댑터를 구현하는 것은 어려울 수 있습니다.

대체 솔루션

이러한 XML 생성은 인터페이스 계약에 미치는 영향으로 인해 일반적으로 권장되지 않지만 몇 가지 가능한 해결 방법은 다음과 같습니다.

1. 키에 대한 열거 유형을 사용합니다.

맵 키에 대한 열거 유형을 정의합니다. 이렇게 하면 XSD에 컴파일 타임에 알려진 요소 목록이 포함됩니다.

2. 기본 구조 단순화:

MapAdapter를 사용하여 지도를 키와 값의 속성이 포함된 MapElements 배열로 변환합니다. 이는 XML 구조를 키 ​​및 값 속성이 있는 요소 목록으로 단순화합니다.

결론

동적 요소 이름으로 XML을 생성하는 것은 권장되지 않지만, 제공된 대안은 이 동작이 필요한 특정 시나리오에 대한 솔루션을 제공합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3