Heim  >  Artikel  >  Backend-Entwicklung  >  Dekodieren Sie die XML-Zeichenfolge in eine Struktur

Dekodieren Sie die XML-Zeichenfolge in eine Struktur

WBOY
WBOYnach vorne
2024-02-09 10:20:291068Durchsuche

将 XML 字符串解码为结构体

Der PHP-Editor Xiaoxin zeigt Ihnen, wie Sie XML-Strings in Strukturen dekodieren. XML ist eine Auszeichnungssprache, die zum Speichern und Übertragen von Daten verwendet wird, während eine Struktur ein Datentyp ist, der zum Organisieren und Speichern von Daten verwendet wird. Durch die Dekodierung der XML-Zeichenfolge in eine Struktur können wir die darin enthaltenen Daten einfach bedienen und verarbeiten. In diesem Artikel untersuchen wir die Methode, mit der PHP-Sprache XML-Zeichenfolgen zu analysieren und in Strukturen umzuwandeln, damit Sie XML-Daten besser verstehen und anwenden können.

Frageninhalt

Ich habe die folgende XML:

<doc>
<subgroup1>
    <value1>abc123</value1>
    <value2>abc123</value2>
    <value3>abc123</value3>
    <value4>abc123</value4>
</subgroup1>
<subgroup2>
    <thetag mytagattr="abc123">
        <value1>abc123</value1>
        <value2>abc123</value2>
        <value3>abc123</value3>
        <value4 mytagattr="abc123">abc123</value4>
        <value5>abc123</value5>
        <value6>abc123</value6>
        <value7>abc123</value7>
        <value8>abc123</value8>
        <value9>abc123</value9>
    </thetag>
</subgroup2>
</doc>

Ich muss in diese Struktur entschlüsseln:

type thetag struct {
    xmlname xml.name `xml:"subgroup2>thetag"`

    value1  string  `xml:"value1"`
    value2  string  `xml:"value2"`
}

Aber ich kann dieses untergeordnete Element nicht richtig in die Struktur dekodieren.

Ich erhalte die folgende Fehlermeldung:

error decoding message content: %!w(xml.UnmarshalError=expected element type <SubGroup2>TheTag> but have <DOC>)

Mein Code ist auf go playgroud zu finden: https://go.dev/play/p/o688qtbarjm

Vielen Dank im Voraus!

Problemumgehung

Sie sollten wahrscheinlich das Etikett verschieben.

type TheTag struct {
  XMLName xml.Name `xml:"DOC"`

  Value1 string `xml:"SubGroup2>TheTag>Value1"`
  Value2 string `xml:"SubGroup2>TheTag>Value2"`
}

Das obige ist der detaillierte Inhalt vonDekodieren Sie die XML-Zeichenfolge in eine Struktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen