我正在尝试使用template.ParseFiles()解析xml文件。
xml是:
<?xml version="1.0" encoding="utf-8"?>
<in2>
<unique>{{.}}</unique>
<moe>100%</moe>
</in2>但在解析之后,第一个<变成了<,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<in2>
<unique>something</unique>
<moe>100%</moe>
</in2>如何正确解析xml文件?
这是我的代码:
func in2(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/xml")
t, err := template.ParseFiles("xml/in2.xml")
if err != nil {
fmt.Println(err)
return
}
unique := "something"
err = t.Execute(w, unique)
if err != nil {
fmt.Println(err)
}
}发布于 2013-07-22 10:49:30
我不认为html/template理解xml,所以xml模板会给它带来问题。如果您需要使用xml,那么http://golang.org/pkg/encoding/xml/包可能会很有用。
或者你可以使用不关心你的xml的文本/模板。使用text/template的缺点是它不会感知上下文,但html/template也无法理解xml的上下文。
https://stackoverflow.com/questions/17774958
复制相似问题