Go 转到找不到已解除编组的XML节点
我试图解组一个XML文件,但它找不到我的根节点Go 转到找不到已解除编组的XML节点,go,Go,我试图解组一个XML文件,但它找不到我的根节点快照,这使我无法解组文件的其余部分 我正在从main.go调用parser.go,以及Validate函数 语法分析器 虽然我的XML文件很大,但我将发布一个片段: <?xml version='1.0' encoding='UTF-8'?> <snapshot> <ENBEquipment id="233443234543" model="XYZ" version="LR_16_02_L"> <
快照
,这使我无法解组文件的其余部分
我正在从main.go
调用parser.go
,以及Validate
函数
语法分析器
虽然我的XML文件很大,但我将发布一个片段:
<?xml version='1.0' encoding='UTF-8'?>
<snapshot>
<ENBEquipment id="233443234543" model="XYZ" version="LR_16_02_L">
<attributes>
<administrativeState>unlocked</administrativeState>
</attributes>
</ENBEquipment>
</snapshot>
如果我对
快照
进行验证,则文件解组就可以了。为什么找不到节点?尝试导出快照
,并添加一个结构标记来指示名称
xml.Unmarshal
使用反射填充结构。因此,需要导出结构的元素
type ConfigXML struct {
Snapshot []Snapshot `xml:"snapshot"`
FileName string
}
有关
xml.Unmarshal
工作原理的更多信息,请参见(搜索“导出”并查看示例)。尝试导出快照
,并添加结构标记以指示名称
xml.Unmarshal
使用反射填充结构。因此,需要导出结构的元素
type ConfigXML struct {
Snapshot []Snapshot `xml:"snapshot"`
FileName string
}
有关
xml.Unmarshal
如何工作的更多信息,请参见(搜索“导出”并查看示例)。使用调试断点或fmt.Println()对parser.file
使用时,您会看到什么?完全公开,我仍在学习Go。我想把Println()
@DerekAlso放在什么地方,你真的应该捕获并处理xml.Unmarshal()
返回的潜在错误。另外,请添加ConfigXML
类型的定义ConfigXML
类型在那里(格式有输入错误)@哥斯拉74,你还在这个问题上遇到麻烦吗?当使用调试断点或parser.file
的fmt.Println()
时,你看到了什么?完全公开,我还在学习围棋。我想把Println()
@DerekAlso放在什么地方,你真的应该捕获并处理xml.Unmarshal()
返回的潜在错误。另外,请添加ConfigXML
类型的定义ConfigXML
类型在那里(格式有输入错误)@哥斯拉74,你还在这个问题上遇到麻烦吗?
ERRO[2018-06-12 09:45:34] parsing failed error="node snapshot does not exist" filename=/tmp/datain/xyz/123/agg/233443234543.xml
type ConfigXML struct {
Snapshot []Snapshot `xml:"snapshot"`
FileName string
}