Nyahkod rentetan XML ke dalam struktur

WBOY
Lepaskan: 2024-02-09 10:20:29
ke hadapan
1044 orang telah melayarinya

将 XML 字符串解码为结构体

Editor PHP Xiaoxin akan memperkenalkan kepada anda cara untuk menyahkod rentetan XML kepada struktur. XML ialah bahasa penanda yang digunakan untuk menyimpan dan menghantar data, manakala struktur ialah jenis data yang digunakan untuk menyusun dan menyimpan data. Dengan menyahkod rentetan XML ke dalam struktur, kami boleh mengendalikan dan memproses data di dalamnya dengan mudah. Dalam artikel ini, kami akan meneroka kaedah menggunakan bahasa PHP untuk menghuraikan rentetan XML dan menukarnya kepada struktur untuk membantu anda memahami dan menggunakan data XML dengan lebih baik.

Kandungan soalan

Saya mempunyai xml berikut:

<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>
Salin selepas log masuk

Saya perlu menyahkod ke dalam struktur ini:

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

    value1  string  `xml:"value1"`
    value2  string  `xml:"value2"`
}
Salin selepas log masuk

Tetapi saya tidak dapat menyahkod elemen kanak-kanak ini ke dalam struktur dengan betul.

Saya mendapat ralat berikut:

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

Kod saya boleh didapati di go playgroud: https://go.dev/play/p/o688qtbarjm

Terima kasih terlebih dahulu!

Penyelesaian

Anda mungkin perlu mengalihkan label.

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

  Value1 string `xml:"SubGroup2>TheTag>Value1"`
  Value2 string `xml:"SubGroup2>TheTag>Value2"`
}
Salin selepas log masuk

Atas ialah kandungan terperinci Nyahkod rentetan XML ke dalam struktur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!