Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Nyahkod rentetan XML ke dalam struktur

Nyahkod rentetan XML ke dalam struktur

WBOY
WBOYke hadapan
2024-02-09 10:20:291064semak imbas

将 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>

Saya perlu menyahkod ke dalam struktur ini:

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

    value1  string  `xml:"value1"`
    value2  string  `xml:"value2"`
}

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>)

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"`
}

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

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam