php小編小新將為大家介紹如何將XML字串解碼為結構體。 XML是一種用於儲存和傳輸資料的標記語言,而結構體是一種用於組織和儲存資料的資料類型。透過將XML字串解碼為結構體,我們可以方便地對其中的資料進行操作和處理。在本文中,我們將探索使用PHP語言解析XML字串並將其轉換為結構體的方法,幫助您更好地理解和應用XML資料。
我有以下 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>
我需要解碼成這個結構:
type thetag struct { xmlname xml.name `xml:"subgroup2>thetag"` value1 string `xml:"value1"` value2 string `xml:"value2"` }
但是我無法將此子元素正確解碼到結構中。
我收到以下錯誤:
error decoding message content: %!w(xml.UnmarshalError=expected element type <SubGroup2>TheTag> but have <DOC>)
我的程式碼可以在 go playgroud 上找到:https://go.dev/play/p/o688qtbarjm
提前致謝!
您可能應該移動標籤。
type TheTag struct { XMLName xml.Name `xml:"DOC"` Value1 string `xml:"SubGroup2>TheTag>Value1"` Value2 string `xml:"SubGroup2>TheTag>Value2"` }
以上是將 XML 字串解碼為結構體的詳細內容。更多資訊請關注PHP中文網其他相關文章!