Golang保存xml文件

目录

1 保存xml

2 保存文件名

 3 控制台输出


1 保存xml

package main

import (
	"encoding/xml"
	"fmt"
	"os"
)

type Servers struct {
	XMLName xml.Name       `xml:"servers"`
	Version string         `xml:"version,attr"`
	Server  []singleServer `xml:"server"`
}

type singleServer struct {
	ServerName string `xml:"serverName"`
	ServerIP   string `xml:"serverIP"`
}

func main() {
	servers := Servers{}

	servers.Version = "1"
	servers.Server = append(servers.Server, singleServer{"Local_webd", "127.0.0.1"})
	servers.Server = append(servers.Server, singleServer{"Local_DBd", "127.0.0.2"})
	indent, err := xml.MarshalIndent(servers, " ", "  ")
	if err != nil {
		fmt.Println("error:%v\n", err)
		return
	}

	// 保存为文件
	create, err := os.Create("Server.xml")
	if err != nil {
		return
	}

	// xml头
	create.Write([]byte(xml.Header))
	create.Write(indent)

	// 要延时关闭文件流
	defer create.Close()

	// 控制台输出
	os.Stdout.Write([]byte(xml.Header))
	os.Stdout.Write(indent)
}

2 保存文件名

 3 控制台输出

<?xml version="1.0" encoding="UTF-8"?>
 <servers version="1">
   <server>
     <serverName>Local_webd</serverName>
     <serverIP>127.0.0.1</serverIP>
   </server>
   <server>
     <serverName>Local_DBd</serverName>
     <serverIP>127.0.0.2</serverIP>
   </server>
 </servers>

对于将txt文件转换为xml和excel文件,您可以使用Go语言的一些库来实现。以下是一个简单的示例,使用`encoding/xml`和`github.com/tealeg/xlsx`库来完成转换: 首先,您需要安装所需的库。在命令行中执行以下命令: ``` go get encoding/xml go get github.com/tealeg/xlsx ``` 接下来,您可以使用以下代码将txt文件转换为xml文件: ```go package main import ( "encoding/xml" "fmt" "io/ioutil" "os" ) type Item struct { XMLName xml.Name `xml:"item"` Text string `xml:",chardata"` } type Items struct { XMLName xml.Name `xml:"items"` Items []Item `xml:"item"` } func main() { // 读取txt文件内容 txtData, err := ioutil.ReadFile("input.txt") if err != nil { fmt.Println("读取txt文件失败:", err) return } // 创建Items结构体并填充数据 items := Items{} items.Items = append(items.Items, Item{Text: string(txtData)}) // 将Items结构体转换为xml格式 xmlData, err := xml.MarshalIndent(items, "", " ") if err != nil { fmt.Println("转换为xml失败:", err) return } // 将xml数据写入文件 err = ioutil.WriteFile("output.xml", xmlData, 0644) if err != nil { fmt.Println("写入xml文件失败:", err) return } fmt.Println("txt文件已成功转换为xml文件.") } ``` 将上述代码保存为`txt2xml.go`文件并执行`go run txt2xml.go`,即可将`input.txt`文件转换为`output.xml`文件。 接下来,您可以使用以下代码将txt文件转换为excel文件: ```go package main import ( "fmt" "github.com/tealeg/xlsx" "io/ioutil" ) func main() { // 读取txt文件内容 txtData, err := ioutil.ReadFile("input.txt") if err != nil { fmt.Println("读取txt文件失败:", err) return } // 创建新的xlsx文件 file := xlsx.NewFile() sheet, err := file.AddSheet("Sheet1") if err != nil { fmt.Println("创建xlsx文件失败:", err) return } // 在第一行第一列添加txt数据 cell := sheet.Cell(0, 0) cell.Value = string(txtData) // 保存xlsx文件 err = file.Save("output.xlsx") if err != nil { fmt.Println("保存xlsx文件失败:", err) return } fmt.Println("txt文件已成功转换为excel文件.") } ``` 将上述代码保存为`txt2excel.go`文件并执行`go run txt2excel.go`,即可将`input.txt`文件转换为`output.xlsx`文件。 请确保在运行代码之前,将实际的txt文件命名为`input.txt`并与代码文件放在同一目录下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值