我有一個字符串與XML片段,我想給它注入到編碼流:XML編碼:XML注入到輸出
package main
import (
"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()
或類似的東西來做到這一點?
直接寫入Writer有什麼問題,即繞過編碼器:'os.Stdout.Write([] byte(myxml))'? – Volker
這就是我所要做的 - 只有確保在直接寫入底層寫入器之前先清空編碼器。 – hobbs
我沒有想到明顯的解決方案。謝謝! – topskip