为了账号安全,请及时绑定邮箱和手机立即绑定

语句不能实现

func main() {

    file, err := os.Open(xmlFile)
    if err != nil {
        panic(err)
    }

    data, err := ioutil.ReadFile(file)
    if err != nil {
        panic(err)
    }

    defer file.Close()
   NodeDecoder := xml.NewDecoder(bytes.NewBuffer(data))
   
    var t xml.Token
    
    for t,err = NodeDecoder.Token(); err = =nil; t,err = NodeDecoder.Token(){
        switch token := t.(type){
            case xml.StartElement:
                name:= token.Name.Local
                fmt.Println(name)
            
            case xml.EndElement:
        }
        
    }
    

正在回答

1 回答

用了ioutil.ReadFile()来读取文件,就不必用os.Open()了,所以正确的写法是:

package main
import (
    "bytes"
    "encoding/xml"
    "fmt"
    "io/ioutil"
)

func main() {
    //    file, err := os.Open(xmlFile)
    //    if err != nil {
    //        panic(err)
    //    }

    data, err := ioutil.ReadFile("vsproj.csproj")
    if err != nil {
        panic(err)
    }

    //defer file.Close()
    NodeDecoder := xml.NewDecoder(bytes.NewBuffer(data))

    var t xml.Token

    for t, err = NodeDecoder.Token(); err == nil; t, err = NodeDecoder.Token() {
        switch token := t.(type) {
        case xml.StartElement:
            name := token.Name.Local
            fmt.Println(name)

        case xml.EndElement:
        }

    }
}

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Golang之文本编码处理
  • 参与学习       15752    人
  • 解答问题       12    个

掌握对Golang语言中文本编码处理的应用, 搞定日常操作

进入课程

语句不能实现

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信