假设以下xml元素具有属性和浮点值:
<thing prop="1">
1.23
</thing>
<thing prop="2">
4.56
</thing>
为了解组它,我应该如何定义我的结构?
type ThingElem struct {
Prop int `xml:"prop,attr"`
Value float // ???
}
type ThingWrapper struct {
T ThingElem `xml:"thing"`
}
// VS
type ThingElem struct {
XMLName xml.Name `xml:"thing"` // Do I even need this?
Prop int `xml:"prop,attr"`
Value float // ???
}
XMLName属性的用法使我感到困惑。什么时候应该将其放置在结构中,何时将其作为标签包装?
在下面,您可以找到解组给定数据的代码。
xml.Name
在结构中指定字段,只要它不模糊应使用哪种结构即可。package main
import (
"encoding/xml"
"fmt"
)
type Root struct {
Things []Thing `xml:"thing"`
}
type Thing struct {
Prop int `xml:"prop,attr"`
Value float64 `xml:",chardata"`
}
func main() {
data := `
<root>
<thing prop="1">1.23</thing>
<thing prop="2">4.56</thing>
</root>
`
thing := &Root{}
err := xml.Unmarshal([]byte(data), thing)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(thing)
}
问题内容: 我具有以下XML结构,该结构跨多个XML元素对单个概念进行建模。此格式不在我的控制范围内。 我想在一个数据库中,我确实有控制权,并可以有一个更简单的模型此表,和领域。因此,我想在课堂上解组。 可以通过注释自动完成吗?我目前正在使用JAXB解组到单独的列表和类列表,然后在上对瞬态进行后处理,但是我认为必须有一种更简便的自动方式来映射这些元素。还是XSLT的工作? 可能会知道XML是作为H
问题内容: 我有这样的XML结构: 我不知道如何收集SubItemField元素的值和属性,我的代码是这样的: 我需要属性和值,但是获取我知道的值的唯一方法就是使用 而不是我的自定义类型。我正在使用xml.Unmarshal btw。 任何想法? 谢谢。 问题答案: 我想出了如何做到这一点,我只需要在结构中添加一个匹配的新属性即可,如下所示: 我希望这可以帮助某人,因为没有相关文档或示例。
问题内容: 我发现很多文章描述了如何将XML元素序列编组到HashMap,只要它们在“父”元素内。但是,我不希望它直接与root元素下的孩子一起工作! 选项1-运作: 选项2 -难道 不 工作: 检查: 检查: CheckMapType: ChecksAdapter: 这是(一些虚拟测试行)我如何生成类/调用解组的方法: 关于如何使选项2起作用的任何想法吗?当使用列表而不是Map时它可以工作,但是
我认为这对真正理解JAXB绑定文件的人来说很容易... 如何配置JAXB将多个元素解组到同一个类中? 注意:我想避免在我的项目中添加另一个依赖项(比如MOXy)。理想情况下,这可以通过注释或自定义绑定文件来实现。 我有一个XML文档,其中包含许多相同元素的变体——每个元素都有完全相同的属性。使用下面的示例,我只关心“员工”,但XML指定了“董事、经理和员工”。为了我们的目的,这些都是同一个父类的子
我有这样的元素: 我想检索没有已定义。在这种情况下,元素。 对于这个问题,我得到了相反的结果: 我尝试了和的组合,但是我没有找到合适的解决方案。
问题内容: 我有两个具有以下结构的json文件 和 如您所见,json和演员表的内部结构相同。我想将这些json文件解编为相同的golang结构。但是我不能为相同的struct元素提供两个名称标签(广播和电影)。我想要类似的东西 在这种情况下,Detail可以同时解析演员和电影。 这是我当前的代码 但它仅适用于第一个标签“ cast”,并在json包含电影的情况下给出nill。 提前致谢。 问题答