关于go读取xml中worksheet的问题,主要是如何正确提取worksheet中的数据。
go中可以使用encoding/xml来解析xml数据,具体代码实现如下:
package main import ( "encoding/xml" "fmt" ) type Worksheet struct { Table Table `xml:"Table"` } type Table struct { Row []Row `xml:"Row"` } type Row struct { Data []Data `xml:"Data"` } type Data struct { Value string `xml:"value,attr"` } func main() { // xml数据 data := ` <Worksheet> <Table> <Row> <Data value="XXX" /> <Data value="XXXX" /> <Data value="EBXXX" /> </Row> <Row> <Data value="XXXXX" /> <Data value="XXXXXXXX" /> <Data value="XXXX" /> </Row> </Table> </Worksheet> ` var worksheet Worksheet if err := xml.Unmarshal([]byte(data), &worksheet); err != nil { fmt.Println(err) return } // 提取数据 for _, r := range worksheet.Table.Row { for _, d := range r.Data { fmt.Println(d.Value) } } }
登录后复制
这段代码中,我们定义了worksheet、table、row和data结构体,用于解析xml中的worksheet元素及其子元素。
在mn函数中,我们使用xml.unmarshal函数将xml数据解析到worksheet结构体中。
立即学习“”;
最后,我们遍历table中的row,再遍历row中的data,打印出每个data元素的value属性,这样就能得到worksheet中的数据。
值得注意的是,我们只提取了少部分数据,根据你的实际需要,你可以自定义结构体来提取不同的数据。
以上就是如何使用Go语言提取XML文件中Worksheet中的数据?的详细内容,更多请关注php中文网其它相关文章!