第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 Go 中將 XML 代碼寫(xiě)入 XML 文件

在 Go 中將 XML 代碼寫(xiě)入 XML 文件

Go
喵喵時(shí)光機(jī) 2021-06-29 13:04:11
我有一個(gè)打印 XML 代碼行的腳本,但我需要它來(lái)編寫(xiě)一個(gè)新的 XML 文件,然后將 XML 代碼寫(xiě)入文件而不是打印它。這是打印 XML 代碼的函數(shù)func processTopic(id string, properties map[string][]string) {    fmt.Printf("<card entity=\"%s\">\n", id)    fmt.Println("  <facts>")    for k, v := range properties {        for _,value := range v {            fmt.Printf("    <fact property=\"%s\">%s</fact>\n", k, value)        }    }    fmt.Println("  </facts>")    fmt.Println("</card>")}如何讓它編寫(xiě)一個(gè) XML 文件,然后將代碼寫(xiě)入該 XML 文件?
查看完整描述

3 回答

?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

雖然打印您的 XML 可能沒(méi)問(wèn)題,但為什么不使用該encoding/xml包?使用您的 XML 結(jié)構(gòu):


type Card struct {

    Entity string `xml:"entity,attr"`

    Facts  Facts

}


type Facts struct {

    Fact []Fact

}


type Fact struct {

    Property string `xml:"property,attr"`

    Value string `xml:",innerxml"`

}

像這樣創(chuàng)建您的數(shù)據(jù)結(jié)構(gòu)(在 play 上運(yùn)行示例):


card := &Card{

    Entity: "1234id",

    Facts: Facts{[]Fact{

        Fact{Property: "prop1", Value: "val1"},

        Fact{Property: "prop2", Value: "val2"},

    }},

}

現(xiàn)在您可以將結(jié)構(gòu)編碼為 XML 并將其直接寫(xiě)入io.Writer:


writer, err := os.Open("/tmp/tmp.xml")


encoder := xml.NewEncoder(writer)

err := encoder.Encode(data)


if err != nil { panic(err) }


查看完整回答
反對(duì) 回復(fù) 2021-07-05
  • 3 回答
  • 0 關(guān)注
  • 303 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)