我试图用标准模板包建立网站地图XML文件。
但是第一个字符集“<”变成“& lt;”,并且使客户端的XML不可读。golang模板转义第一个字符

package main 

import (
    "bytes" 
    "fmt" 
    "html/template" 
) 

const (
    tmplStr = `{{define "indexSitemap"}}<?xml version="1.0" encoding="UTF-8"?> 
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
<sitemap> 
    <loc>https://www.test.com/sitemap.xml</loc> 
</sitemap> 
<sitemap> 
    <loc>https://www.test.com/events-sitemap.xml</loc> 
</sitemap> 
<sitemap> 
    <loc>https://www.test.com/gamesAndTeams-sitemap.xml</loc> 
</sitemap> 
</sitemapindex>{{end}}` 
) 

func main() { 
    // Parse the template and check for error 
    tmpl, parseErr := template.New("test").Parse(tmplStr) 
    if parseErr != nil { 
     fmt.Println(parseErr) 
     return 
    } 

    // Init the writer 
    buf := new(bytes.Buffer) 

    // Execute and get the template error if any 
    tmplExErr := tmpl.ExecuteTemplate(buf, "indexSitemap", nil) 
    if tmplExErr != nil { 
     fmt.Println(tmplExErr) 
     return 
    } 

    // Print the content malformed 
    fmt.Println(buf) 
} 

是正常吗?
我如何使它正常工作。

在此先感谢

2015-09-01 Alexandre Stein

+2

你在使用'text/template'还是'html/template'? –