XML 배열을 Go 구조체로 역마샬링할 때 첫 번째 요소만 검색할 수 있습니다. 이 문제를 방지하고 전체 배열을 얻으려면 다음 단계를 따르십시오.
다중 반복을 통한 XML 디코딩:
XML 문자열 내에 여러 XML 엔터티가 있습니다. 이러한 엔터티를 올바르게 역마샬링하려면 xml.Decoder가 필요합니다. d.Decode를 여러 번 사용하여 각 개별 엔터티를 검색합니다.
예제 코드:
<code class="go">d := xml.NewDecoder(bytes.NewBufferString(VV)) for { var t HostSystemIdentificationInfo err := d.Decode(&t) if err == io.EOF { // End of file encountered break } if err != nil { // Handle any decoding errors log.Fatal(err) } fmt.Println(t) // Each element will be printed }</code>
XML 샘플:
<code class="xml"><HostSystemIdentificationInfo> <identifierValue>unknown</identifierValue> <identifierType> <label>Asset Tag</label> <summary>Asset tag of the system</summary> <key>AssetTag</key> </identifierType> </HostSystemIdentificationInfo> <HostSystemIdentificationInfo> <identifierValue>Dell System</identifierValue> <identifierType> <label>OEM specific string</label> <summary>OEM specific string</summary> <key>OemSpecificString</key> </identifierType> </HostSystemIdentificationInfo></code>
이 단계를 수행하면 전체 XML 배열을 Go 구조체로 성공적으로 역마샬링하여 의도한 대로 모든 요소를 검색할 수 있습니다.
위 내용은 전체 XML 배열을 Go 구조체로 역정렬화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!