Go에서 XML 요소 이름을 동적으로 정의
요소 이름을 제외하고 구조가 동일한 두 요소가 있는 XML 파일을 생각해 보세요. Go에서 이러한 요소를 나타내려면 동적 요소 이름을 가진 구조체가 필요합니다.
type Person struct { XMLName string `xml:"???` // How to make this dynamic? E1 string `xml:"ELEM1"` E2 string `xml:"ELEM2"` E3 string `xml:"ELEM3"` E4 string `xml:"ELEM4"` }
여기에는 xml.Name 유형이 도입되었습니다. 해당 로컬 필드를 사용하면 요소 이름을 동적으로 설정할 수 있습니다.
type Person struct { XMLName xml.Name E1 string `xml:"ELEM1"` // ... }
런타임에 요소 이름을 할당할 수 있습니다.
person := Person{ XMLName: xml.Name{Local: "Person"}, // ... }
구조체 필드(E1 - E4)에 유의하세요. XML 출력에 포함하려면 내보내야 합니다(대문자로 시작).
실제 예는 다음을 참조하세요. 놀이터:
http://play.golang.org/p/bzSutFF9Bo
위 내용은 Go 구조체에서 XML 요소 이름을 동적으로 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!