gpt4 book ai didi

Go 中的 XML - 如何获取任一标记并将其与结构的字段匹配?

转载 作者:IT王子 更新时间:2023-10-29 02:06:18 25 4
gpt4 key购买 nike

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

例如,在下面的 XML 文件中:

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

我可以在相同的 person 字段中通过各自的订单获得 foodfurniture 吗?

所以我想得到的是:

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 次。

谢谢。

最佳答案

这可能与 Does XML care about the order of elements? 有关.

基本上,没有 XSD (XML Schema Definition) ,您不能指定处理或显示 XML 元素的顺序。

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

看看go-xsd .

关于Go 中的 XML - 如何获取任一标记并将其与结构的字段匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18692554/

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