1

将 XML 文件的任一标记与encoding/xmlGo 中包中结构的字段匹配是否可行?

例如,在以下 XML 文件中:

<person>
    <food type="fruit" />
    <furniture type="refrigerator" />
    <food type="vegetable" />
    <food type="fruit" />
<person>

我可以使用相应的订单获得foodfurniture在同一字段内吗?person

所以我想要得到如下:

main.Person{main.Food{Type:"fruit"}, main.Furniture{Type:"refrigerator"}, main.Food{Type:"vegetable"}, main.Food{Type:"fruit"}}

代替

main.Person{Food:[]main.Food{main.Food{Type:"fruit"}, main.Food{Type:"vegetable"}, main.Food{Type:"fruit"}}, Furniture:[]main.Furniture{main.Furniture{Type:"refrigerator"}}}

这是因为我必须将每个项目person按时间顺序排列,而后一个示例仅对每个子标签内的项目进行排序。所以我不知道furniture标签何时出现在后者中,但可以进入前者 - 在这种情况下是第 3 个。

谢谢。

4

1 回答 1

2

这可能与XML 是否关心元素的顺序有关?.

基本上,如果没有XSD(XML 模式定义),您就无法指定处理或呈现 XML 元素的顺序。

如果您使用有效的 XSD 处理 XML,它可能会起作用。

看看go-xsd

于 2013-09-09T12:32:04.230 回答