我有一個(gè)帶有 XML 片段的字符串,我想將它注入到編碼流中:package mainimport ( "encoding/xml" "os")func main() { myxml := `<mytag>foo</mytag>` enc := xml.NewEncoder(os.Stdout) root := xml.StartElement{Name: xml.Name{Local: "root"}} enc.EncodeToken(root) enc.EncodeToken(xml.CharData(myxml)) enc.EncodeToken(root.End()) enc.Flush()}我明白了,<root><mytag>foo</mytag></root>但我想擁有<root><mytag>foo</mytag></root>有什么辦法可以使用enc.EncodeToken()或類似的方法來做到這一點(diǎn)嗎?
1 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
插入原始 XML 的唯一方法是將其直接寫入流,在本例中為 os.Stdout。
myxml := `<mytag>foo</mytag>`
enc := xml.NewEncoder(os.Stdout)
root := xml.StartElement{Name: xml.Name{Local: "root"}}
enc.EncodeToken(root)
enc.Flush()
os.Stdout.WriteString(myxml)
enc.EncodeToken(root.End())
enc.Flush()
如果您使用innerxmlstruct 標(biāo)記,這本質(zhì)上會(huì)發(fā)生什么,但這只能通過結(jié)構(gòu)完成,并且會(huì)給您一組更多的標(biāo)記來表示原始 xml 周圍的結(jié)構(gòu)。
- 1 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報(bào)
0/150
提交
取消