【发布时间】:2014-05-27 09:57:14
【问题描述】:
代码http://play.golang.org/p/PlOMw4wfT2
我想在解组时保留一些 XML 标记中的子元素。这是我的代码:
package main
import (
"encoding/xml"
"log"
)
func main() {
xmltext := []byte(`<Root><Foo>text text text <a href="url">foo bar</a> and more text.</Foo></Root>`)
type mystruct struct {
Foo string `xml:",innerxml"`
}
v := &mystruct{}
err := xml.Unmarshal(xmltext, v)
if err != nil {
log.Fatal(err)
}
log.Println(v.Foo)
}
结果是:
<Foo>text text text <a href="url">foo bar</a> and more text.</Foo>
但我想得到
text text text <a href="url">foo bar</a> and more text.
(没有周围的 Foo 标记)
即:我想保留元素 Foo 的“字符串值”(不是 XPath 意义上的字符串值)。
如何在没有<Foo> 和</Foo> 的情况下从元素Foo 中获取内容?
【问题讨论】:
标签: xml go unmarshalling