Heim  >  Artikel  >  Backend-Entwicklung  >  So entmarshalieren Sie das gesamte XML-Array in eine Go-Struktur

So entmarshalieren Sie das gesamte XML-Array in eine Go-Struktur

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 06:11:30344Durchsuche

How to Unmarshal the Entire XML Array into a Go Struct

Unmarshaling von XML-Arrays in Go: Abrufen aller Elemente

Beim Unmarshaling eines XML-Arrays in eine Go-Struktur ist es möglich, nur das erste Element abzurufen. Um dieses Problem zu vermeiden und das gesamte Array zu erhalten, führen Sie die folgenden Schritte aus:

XML-Dekodierung mit mehreren Iterationen:

In der XML-Zeichenfolge befinden sich mehrere XML-Entitäten. Um diese Entitäten korrekt zu entmarshalieren, ist ein xml.Decoder erforderlich. Verwenden Sie d.Decode mehrmals, um jede einzelne Entität abzurufen.

Beispielcode:

<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-Beispiel:

<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>

Indem Sie diese Schritte befolgen, können Sie das gesamte XML-Array erfolgreich in eine Go-Struktur entpacken und so sicherstellen, dass Sie alle Elemente wie vorgesehen abrufen.

Das obige ist der detaillierte Inhalt vonSo entmarshalieren Sie das gesamte XML-Array in eine Go-Struktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn