猿问

如何在 Go 中处理嵌套的 XML 标签?

我正在尝试解组来自蛋白质数据库 (pdb) 的查询响应。一直在看Go的XML编码包,了解如何处理标签,但不知道如何处理嵌套标签。我从下面的代码中得到输出(剪切);


 <PDBdescription> 

 <PDB structureId="4HHB"....

 </PDBdescription>

如何获取结构 ID 的信息?因为它似乎连接到 PDB-tag,它在 PDBdescription-tag 内?


// pdbRequest

package main


import (

    "fmt"

    "net"

    "encoding/xml"

    //"strings"

)


type PDB struct {

    id    string   `xml:"PDBdescription">"PDB structureId"`

    XMLName xml.Name 

}


func main() {

    conn, err := net.Dial("tcp", "www.rcsb.org:http")

    p := PDB{id:"NONE"}

    if err != nil {

        return

    }

    fmt.Fprintf(conn, "GET /pdb/rest/describePDB?structureId=4hhb HTTP/1.0\r\n\r\n")

    status := make([]byte, 10000)

    conn.Read(status)

    xml.Unmarshal([]byte(status), &p)

    fmt.Println(string(status))

    fmt.Println(p.id)

}

我看到我的问题与此处的其他问题非常相似(很快将提供链接引用),但那里给出的答案似乎不是我的解决方案,因为我的标签有点不同。


一只名叫tom的猫
浏览 222回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答