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

只定义一个结构,让它在Go中处理XML文件的所有内部元素?,xml,struct,go,unmarshalling,Xml,Struct,Go,Unmarshalling,假设我有以下xml: <main symbol="X"> <blockA main_score="3"> <a score="0"/> </blockA> <blockB> <b id="3" name="Mike"/> </blockB> </main> 我想得到的是以下结构: symbol: X main_score: 3 score: 0 id: 3 name: Mike 那

假设我有以下xml:

<main symbol="X">
<blockA main_score="3">
    <a score="0"/>
</blockA>
<blockB>
    <b id="3" name="Mike"/>
</blockB>
</main>
我想得到的是以下结构:

symbol: X
main_score: 3
score: 0
id: 3
name: Mike
那么,我如何定义进入内部元素(
blockA
blockB
)并到达其属性值(
main_score
)和内部元素(
score
id
name
)的XML标记呢

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


谢谢。

我认为目前不可能用包的当前版本将XML解包到您的结构中

如果受支持,则需要使用以下内容注释
MainScore

MainScore int `xml:"blockA>main_score,attr"`
i、 e.从
blockA
子元素中选择
main_score
属性。但是,如中所述,这目前不起作用


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

我认为目前不可能用当前版本的包将XML解组到您的结构中

如果受支持,则需要使用以下内容注释
MainScore

MainScore int `xml:"blockA>main_score,attr"`
i、 e.从
blockA
子元素中选择
main_score
属性。但是,如中所述,这目前不起作用


目前,我认为您需要创建嵌套结构来完全解除对所需数据的编组。

是的,这正是我第一次尝试定义的,但无法使用它。因此,我将使用嵌套结构进行定义并使用它们。谢谢你的回答。是的,这正是我第一次尝试定义的,但无法使用它。因此,我将使用嵌套结构进行定义并使用它们。谢谢你的回答。