使用属性对xml标记进行解组
我试图从XML中提取一些数据。XML标记有一个属性和一个值。我只对值而不是属性感兴趣。以下是我正在尝试的:使用属性对xml标记进行解组,xml,go,struct,Xml,Go,Struct,我试图从XML中提取一些数据。XML标记有一个属性和一个值。我只对值而不是属性感兴趣。以下是我正在尝试的: 主程序包 进口( “编码/xml” “fmt” ) 类型数据结构{ 信息信息`xml:“参考”` } 类型信息结构{ Uid字符串`xml:“Uid,attr”` 名称字符串`xml:,chardata“` } func main(){ str:=` 测试名` var测试数据 _=xml.Unmarshal([]字节(str),&testData) fmt.Println(“Name is
主程序包
进口(
“编码/xml”
“fmt”
)
类型数据结构{
信息信息`xml:“参考”`
}
类型信息结构{
Uid字符串`xml:“Uid,attr”`
名称字符串`xml:,chardata“`
}
func main(){
str:=`
测试名`
var测试数据
_=xml.Unmarshal([]字节(str),&testData)
fmt.Println(“Name is”,testData.Info.Name)
fmt.Println(“uid是”,testData.Info.uid)
返回
}
源XML包含一个
元素(而不是另一个元素中的一个元素),因此使用一个简单的结构对其建模(而不是另一个结构中的结构):
并将其解组为该结构的值:
var testData Information
err := xml.Unmarshal([]byte(str), &testData)
fmt.Println(err)
fmt.Println("Name is ", testData.Name)
fmt.Println("uid is ", testData.Uid)
这将输出(在上尝试):
名称是TestName
uid是123
您是否尝试过此链接中提到的步骤?这成功了!谢谢你,伊卡。
var testData Information
err := xml.Unmarshal([]byte(str), &testData)
fmt.Println(err)
fmt.Println("Name is ", testData.Name)
fmt.Println("uid is ", testData.Uid)
<nil>
Name is TestName
uid is 123