我有一个XML字符串
str := "<data><node><value>Foo</value></node></data>"我需要将值替换为另一个值(Bar)。给定一条路径
"data.node.value"在Go中有没有找到并替换那个值的方法?所以调用Replace(str, "data.node.value","Bar")
<data><node><value>Bar</value></node></data>发布于 2014-10-28 07:41:28
我认为这是不可能的,因为你只有一个字符串。你需要
如下所示:
package main
import (
"encoding/xml"
"fmt"
)
type Data struct {
Node Node `xml:"node"`
}
type Node struct {
Value string `xml:"value"`
}
func main() {
str := "<data><node><value>Foo</value></node></data>"
var d Data
xml.Unmarshal([]byte(str), &d) // unmarshal it
d.Node.Value = "Bar" // manipulate the struct
xmlout, _ := xml.Marshal(d) // re-marshal it
fmt.Println("result: ", string(xmlout))
}https://stackoverflow.com/questions/26597787
复制相似问题