スタック・オーバーフロー Asked by StackDestroyer on January 25, 2021
下記のリンクのようなXMLをパースしたく下記の通り実装しましたが、tags
ないの文字列をうまくパースできません。
できればTagsという文字列の配列にパースしたいのですが可能でしょうか。
innerXMLを使えば、tag構造を文字列として取得できますが、できればその中身の文字列だけ取り出したいです。
よろしくお願いいたします。
https://ext.nicovideo.jp/api/getthumbinfo/sm35048506
実装
package nicoappi
import (
"encoding/xml"
"fmt"
"net/http"
)
// VideoInfo is video information of niconico
type VideoInfo struct {
Thumb Thumb `xml:"thumb"`
}
// Thumb is inner object of VideoInfo
type Thumb struct {
VideoID string `xml:"video_id"`
Title string `xml:"title"`
Description string `xml:"description"`
Tags []string `xml:"tags"`
UserNickname string `xml:"user_nickname"`
}
// Tag is a tag
type Tag struct {
Content string `xml:",chardata"`
}
const baseURL = "https://ext.nicovideo.jp/api/getthumbinfo/"
// GetVideoInfo returns video information
func GetVideoInfo(videoID string) (*VideoInfo, error) {
res, err := http.Get(baseURL + videoID)
if err != nil {
return nil, err
}
reader := xml.NewDecoder(res.Body)
var info VideoInfo
err = reader.Decode(&info)
fmt.Println(info.Thumb.Tags)
return &info, err
}
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP