Go:使用template.ParseFiles解析xml文件后,第一个<&引用;变成&;lt&引用;

Go:使用template.ParseFiles解析xml文件后,第一个<&引用;变成&;lt&引用;,go,Go,我正在尝试使用template.ParseFiles()解析xml文件 xml是: <?xml version="1.0" encoding="utf-8"?> <in2> <unique>{{.}}</unique> <moe>100%</moe> </in2> 如何正确解析xml文件 这是我的代码: func in2(w http.ResponseWriter, r *http.Reques

我正在尝试使用
template.ParseFiles()
解析xml文件

xml是:

<?xml version="1.0" encoding="utf-8"?>
<in2>
    <unique>{{.}}</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)
    }
}

我认为html/template不理解xml,所以xml模板会给它带来问题。如果您需要使用xml,那么这个包可能很有用


或者您可以使用不关心xml的文本/模板。使用文本/模板的缺点是它不会感知上下文,但是html/模板也不会理解xml的上下文。

您使用的是包文本/模板还是包html/模板?我使用的是html/模板。当我改为使用
text/template
时,效果很好。谢谢,谢谢。我将
html/template
更改为
text/template
,效果很好。
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)
    }
}