Xml 创建一个流以读取GO中的巨大字符串
我有一个巨大的xml在一个变量和一个函数来解码这个xml。我不能使用unmarshal,因为在某个特定时刻,我需要读取一个元素并立即将其添加到数据库中 例如:Xml 创建一个流以读取GO中的巨大字符串,xml,go,Xml,Go,我有一个巨大的xml在一个变量和一个函数来解码这个xml。我不能使用unmarshal,因为在某个特定时刻,我需要读取一个元素并立即将其添加到数据库中 例如: db := mongo.Connect() decoder := xml.NewDecoder(resp.Body) defer resp.Body.Close() for { token, _ := decoder.Token() if token == nil { break }
db := mongo.Connect()
decoder := xml.NewDecoder(resp.Body)
defer resp.Body.Close()
for {
token, _ := decoder.Token()
if token == nil {
break
}
switch se := token.(type) {
case xml.StartElement:
...
}
但现在我需要从字符串中读取。所以我不再有相应的身体,而是一根绳子。NewDecoder()函数接收io.Reader,因此我认为可以从流中读取。如何执行此操作???使用
strings.NewReader
方法将任何字符串转换为io.Reader
:
reader := strings.NewReader("some string")
类似的类型也存在于字节片的
字节中。