我有一個帶有 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()或類似的方法來做到這一點嗎?
1 回答

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
插入原始 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 標記,這本質上會發生什么,但這只能通過結構完成,并且會給您一組更多的標記來表示原始 xml 周圍的結構。
- 1 回答
- 0 關注
- 144 瀏覽
添加回答
舉報
0/150
提交
取消