我有一个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>
答案 0 :(得分:0)
我认为不可能,因为你只有一个字符串。 你需要
这样的事情:
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))
}