Heim > Artikel > Backend-Entwicklung > Dekodieren Sie die XML-Zeichenfolge in eine Struktur
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.
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!
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!