为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 XML 中提取数据

如何从 XML 中提取数据

Go
aluckdog 2022-09-12 21:02:21
我正在努力从xml输出中提取数据。我写了下面的代码。我只需要从下面的xml中提取部门编号。在运行以下代码以获取空输出时。有人可以让我如何从xml中提取部门编号以及为什么我得到空作为输出吗?package mainimport (    "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 Usersvar 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)}
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

看起来提供的 XML 是错误的。请尝试使用下面的 XML


<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>

您可以在操场上查看工作示例以及您提供的示例。https://play.golang.org/p/4zQsaz5Z_5P


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信