php editor Xiaoxin will introduce how to decode XML strings into structures. XML is a markup language used to store and transmit data, while a structure is a data type used to organize and store data. By decoding the XML string into a structure, we can easily operate and process the data in it. In this article, we will explore the method of using PHP language to parse XML strings and convert them into structures to help you better understand and apply XML data.
I have the following 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>
I need to decode into this structure:
type thetag struct { xmlname xml.name `xml:"subgroup2>thetag"` value1 string `xml:"value1"` value2 string `xml:"value2"` }
But I can't decode this child element into the structure correctly.
I get the following error:
error decoding message content: %!w(xml.UnmarshalError=expected element type <SubGroup2>TheTag> but have <DOC>)
My code can be found on go playgroud: https://go.dev/play/p/o688qtbarjm
Thanks in advance!
You should probably move the label.
type TheTag struct { XMLName xml.Name `xml:"DOC"` Value1 string `xml:"SubGroup2>TheTag>Value1"` Value2 string `xml:"SubGroup2>TheTag>Value2"` }
The above is the detailed content of Decode XML string into structure. For more information, please follow other related articles on the PHP Chinese website!