簡體   English   中英

Golang xml 解組:如果我們在嵌套結構中使用 Xml 名稱元素,則只有根元素會被解組

[英]Golang xml unmarshal: Only root element gets unmarshaled if we use a Xml name element in the nested structs

我們有一個 Xml 如下所示

<Test>
        <Test1>
            <Data>999</Data>
        </Test1>
</Test>

用於解組的 Go 結構如下所示

type Root struct{
    XMLName xml.Name
    ChildElem Child
}
type Child struct{
   XMLName xml.Name 
   Data string `xml:"Data"`
}

在對具有分配值的結構進行編組時,我們得到了預期的xml ,如上所述。 然而,在將上述 xml組到 Root 結構中時,只有根元素標記被解析,而嵌套元素保持為空。 這是預期的行為嗎?

游樂場鏈接: https://play.golang.org/p/uUPO0gBNCp8

試試這個:

type Root struct {
    XMLName   xml.Name
    ChildElem Child `xml:"Test1"`
}

如果您沒有使用 XML 元素的名稱指定結構標記,那么 xml package 將使用變量名稱來代替它,在您的情況下“ChildElem 不是你想要的”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM