gpt4 book ai didi

xml - 只定义一个结构并让它在 Go 中处理 XML 文件的所有内部元素?

转载 作者:IT王子 更新时间:2023-10-29 02:17:58 24 4
gpt4 key购买 nike

假设我有以下 xml:

<main symbol="X">
<blockA main_score="3">
<a score="0"/>
</blockA>
<blockB>
<b id="3" name="Mike"/>
</blockB>
</main>

我想定义以下结构(空白标签是我要解决的部分):

type Result struct {
XMLName xml.Name `xml:"main"`
Symbol string `xml:"symbol,attr"`
MainScore int
Score int
Id int
Name string
}

我想得到的是以下结构:

symbol: X
main_score: 3
score: 0
id: 3
name: Mike

那么我如何定义进入内部元素(blockAblockB)并达到其属性值(main_score)的 XML 标记和内部元素(scoreidname)?

我可以通过定义另一个结构并将它们嵌入到父 Result 结构中来解决这里的问题。但是,不使用嵌入结构并仅在主结构中定义结构标签并让它处理整个元素是否仍然可行?

谢谢。

最佳答案

我认为目前无法使用当前版本的包将该 XML 解码到您的结构中。

如果它被支持,你会想要注释 MainScore 有:

MainScore int `xml:"blockA>main_score,attr"`

即从 blockA 子元素中选择 main_score 属性。这目前不起作用,如 issue 3688 中所述.

目前,我认为您需要创建嵌套结构来完全解码您需要的数据。

关于xml - 只定义一个结构并让它在 Go 中处理 XML 文件的所有内部元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18885686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com