Dekodieren Sie die XML-Zeichenfolge in eine Struktur

WBOY
Freigeben: 2024-02-09 10:20:29
nach vorne
1044 Leute haben es durchsucht

将 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>
Nach dem Login kopieren

Ich muss in diese Struktur entschlüsseln:

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

    value1  string  `xml:"value1"`
    value2  string  `xml:"value2"`
}
Nach dem Login kopieren

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>)
Nach dem Login kopieren

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"`
}
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!