我正在从 xml 输出中提取数据。我写了下面的代码。我只需要从下面的 xml 中提取部门编号。在运行以下代码时获得空输出。有人可以让我如何从 xml 中提取部门编号以及为什么我得到 null 作为输出?
package main
import (
"encoding/xml"
"fmt"
)
type Users struct {
XMLName xml.Name `xml:"users"`
User User `xml:"user"`
}
type User struct {
XMLName xml.Name `xml:"user"`
Type string `xml:"name"`
DD DD `xml:"dd"`
}
type DD struct {
XMLName xml.Name `xml:"dd"`
Number string `xml:"number"`
Description string `xml:"description"`
Type Type `xml:"type"`
Dept Dept `xml:"dept"`
}
type Type struct{
XMLName xml.Name `xml:"type"`
}
type Dept struct {
XMLName xml.Name `xml:"dept"`
Number string `xml:"number"`
Type Type `xml:"type"`
}
func main() {
var users Users
var byteValue = []byte(`<users>
<user>
<type>1</type>
<bu>
<number>123</number>
<id>100</id>
<type>
<code>123</code>
</type>
</bu>
<dd>
<number>1</number>
<description>abc</description>
<type>
<code>12345</code>
<id>qw123<id>
<type>
<dept>
<number>10</number> <<<<<<<
<type>qw12345</type>
</dept>
</dd>
<bd>
<code>34we5</code>
<id>qw123<id>
</bd>
<OD>
<code>9876</code>
<id>qwerty123<id>
</OD>
</user>
</users>`)
xml.Unmarshal(byteValue, &users)
fmt.Println("Dept Number: " + users.User.DD.Dept.Number)
}