Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用属性对xml标记进行解组_Xml_Go_Struct - Fatal编程技术网

使用属性对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中提取一些数据。XML标记有一个属性和一个值。我只对值而不是属性感兴趣。以下是我正在尝试的:

主程序包
进口(
“编码/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