我正在尝试解组来自蛋白质数据库 (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)
}
我看到我的问题与此处的其他问题非常相似(很快将提供链接引用),但那里给出的答案似乎不是我的解决方案,因为我的标签有点不同。
相关分类