簡體   English   中英

在Go中讀取XML文件

[英]Read an XML file in Go

我在Go中編寫了一個小代碼,我認為它足以讀取XML文件。

有人知道什么在打apping嗎?

XML檔案:

<Lang>
    <Name> Go </Name>
    <Year> 2009 </Year>
    <URL> http://golang.org/ </URL>

</Lang>

轉到代碼:

package main

import (
    "io"
    "log"
    "os"
)

func main() {
    input, err := os.Open("C:\GoWork\toy\lang.xml")
    if err != nil {
        log.Fatal(err)
    }
    io.Copy(os.Stdout, input)
}

錯誤信息:

.\xmltoStruct.go:11: unknown escape sequence: G
.\xmltoStruct.go:11: unknown escape sequence: l

雙引號之間的字符串文字是解釋后的字符串文字,其中反斜杠是表示轉義序列的特殊字符。 請參見規范:字符串文字

引號之間的文本構成文字的值,反斜杠轉義與在符文文字中的解釋相同(但\\'是非法的,而\\'是合法的),並具有相同的限制。

請雙引號加反斜杠:

input, err := os.Open("C:\\GoWork\\toy\\lang.xml")

或更簡單:使用原始字符串文字(反引號),其中反斜杠沒有特殊含義:

input, err := os.Open(`C:\GoWork\toy\lang.xml`)

另外,您還應該關閉文件,最好是使用延遲聲明:

input, err := os.Open(`C:\GoWork\toy\lang.xml`)
if err != nil {
    log.Fatal(err)
}
defer input.Close()
io.Copy(os.Stdout, input)

目前,這是兩種文字形式的混合

input, err := os.Open("C:\GoWork\toy\lang.xml")

字符串文字基本上有兩種形式: 原始字符串文字b。 解釋字符串文字

要么使用帶反引號的原始字符串文字,如在foo中,並且文字的值在引號之間沒有特殊含義

或帶雙引號的解釋后的字符串文字,如“ bar”中所示,但要小心,因為該值的解釋方式與符文文字中的一樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM