gpt4 book ai didi

xml - 使用属性解码 xml

转载 作者:数据小太阳 更新时间:2023-10-29 03:09:03 26 4
gpt4 key购买 nike

无法解码 xml,因此我无法访问 xml 属性。不确定我现在做错了什么。它符合要求,但该结构似乎不包含任何数据。

import (
"io/ioutil"
"encoding/xml"
"fmt"
)

xml 的内容:

  <module id="Core" description="Core Module" tenantId="tenant1" major="3" minor="4" patch="0" build="0">
<probePath path="bin" />
</module>
</metadata>
type ModuleField struct {
Id string `xml:"id,attr"`
Description string `xml:"description,attr"`
TenantId string `xml:"tenantId,attr"`
Major string `xml:"major,attr"`
Minor string `xml:"minor,attr"`
Patch string `xml:"patch,attr"`
}

type Module struct {
ModuleField ModuleField
ProbePath string `xml:"probePath"`
}

type Metadata struct {
XMLName xml.Name `xml:"metadata"`
Module Module
}

// read xml file
raw, _ := ioutil.ReadFile(XMLLoc)
if err != nil {
return
}


var XMLData Metadata
xml.Unmarshal(raw, &XMLData)

// nothing is being printed
fmt.Println(">",XMLData.Module.ModuleField.TenantId,"<")


最佳答案

字母大小写很重要,因此元素 module 不会被解码到名为 Module 的字段中,您需要添加适当的标签。此外,您还需要将 ModuleField 嵌入到 Module 中,以便将其字段提升Module 并且只有这样他们将被解码。或者,您也可以删除 ModuleField 并将其所有字段移至 Module

https://play.golang.org/p/AvaEpcKY-oh

关于xml - 使用属性解码 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55461422/

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