使用golang时浏览器错误地解释了xml标签(我认为)

Posted

技术标签:

【中文标题】使用golang时浏览器错误地解释了xml标签(我认为)【英文标题】:xml tag wrongly interpreted by browser(i think) while using golang 【发布时间】:2021-11-16 06:11:57 【问题描述】:

我正在尝试通过 golang 呈现 xml 站点地图并遇到问题。 浏览器将标签本身的“以下是我的 xml 代码:

<?xml-stylesheet type="text/xsl" href="mylink"?>

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

    <sitemap>
        <loc><![CDATA[...]]></loc>
        <lastmod><![CDATA[  ]]></lastmod>
    </sitemap>

    <sitemap>
        <loc><![CDATA[...]]></loc>
        <lastmod><![CDATA[  ]]></lastmod>
    </sitemap>
</sitemapindex>

下面是解释代码。 enter image description here

请帮忙,因为我是 golang 的新手。

我只是在路由中传递 xml 文件,并且我还添加了 xml(iewHeader().Add("Content-Type", "text/xml; charset = utf-8")) 的特定标头

handler部分代码:

func (api *SiteMapAPI) SiteMap(template *template.Template) func(w http.ResponseWriter, r *http.Request) 
    return func(w http.ResponseWriter, r *http.Request) 

        w.Header().Add("Content-Type", "text/xml; charset = utf-8")
        err := template.Execute(w, nil)
        if err != nil 
            WriteErrorResponse(r.Context(), w, http.StatusInternalServerError, err)
        
    

路线”

router.HandleFunc("/sitemaps/sitemap.xml", sitemapAPI.SiteMap(handler.ParseTemplate("./web/public/sitemaps/sitemap.xml"))).Methods(http.MethodGet).Name("SiteMap")

【问题讨论】:

i.stack.imgur.com/oLF0N.png 解释代码的链接 显示您的代码。 嘿 burak,如果您能理解这里的问题,请提供帮助,非常感谢。 您使用的是text/template,还是html/template?模板执行正在转义这些字符。 我正在使用 html/模板 【参考方案1】:

就我而言,唯一的错误是我导入了错误的包。 我使用的是 html/template,而正确的是 Burak Serdar 指出的 text/template。

【讨论】:

以上是关于使用golang时浏览器错误地解释了xml标签(我认为)的主要内容,如果未能解决你的问题,请参考以下文章

golang XML解析动态标签名称

GoLang中flag标签使用

如何一起显示所有 XML 标签错误?

mapper.xml中 一些解释

在 Golang 中解组 XML 时如何在 interface 中获取数据?

如何使用golang解析其中没有字段名的xml行