golang解析xml示例
2017-08-09 17:20
417 查看
<?xml version=\"1.0\" encoding=\"utf-8\"?> <document> <request> <head> <version>V0.1</version> <reqTime>2017-08-9 17:30:30</reqTime> <reqTimeZone>UTC8</reqTimeZone> <reqMsg>123456554687864654</reqMsg> </head> <body> <name>张三</name> <idType>1</idType> <idNo>234123453421342312</idNo> <sex>M</sex> <birthDay>1988-10-10</birthDay> <mobile>13838637689</mobile> <tel></tel> <data>1011</data> <returnUrl>http://127.0.0.1:8080</returnUrl> <touchSuccess>Y</touchSuccess> </body> </request> <signature>xxxxxxxxx</signature> </document>
package main
import (
"fmt"
"encoding/xml"
"io/ioutil"
"os"
)
type Document struct {
Request []Request `xml:"request"`
Signature string `xim:"signature"`
}
type Request struct {
Head []Head `xml:"head"`
Body []Body `xml:"body"`
}
type Head struct {
XMLName xml.Name `xml:"head"`
Version string `xml:"version"`
ReqTime string `xml:"reqTime"`
ReqTimeZone string `xml:"reqTimeZone"`
ReqMsg string `xml:"reqMsg"`
}
type Body struct {
XMLName xml.Name `xml:"body"`
Name string `xml:"name"`
IdType string `xml:"idType"`
IdNo string `xml:"idNo"`
Sex string `xml:"sex"`
BirthDay string `xml:"birthDay"`
Mobile string `xml:"mobile"`
Tel string `xml:"Tel"`
Data string `xml:"data"`
ReturnUrl string `xml:"returnUrl"`
TouchSuccess string `xml:"touchSuccess"`
}
func main() {
file, err := os.Open("default.xml")
if err != nil {
fmt.Println("error1: %v", err)
return
}
defer file.Close()
data, err := ioutil.ReadAll(file)
if err != nil {
fmt.Println("error2: %v", err)
return
}
var v Document
err = xml.Unmarshal(data, &v)
if err != nil {
fmt.Println("error3: %v", err)
return
}
for _, request := range v.Request {
for _, body := range request.Body {
fmt.Println(body)
fmt.Println(body.Name)
fmt.Println(body.IdType)
fmt.Println(body.IdNo)
fmt.Println(body.Sex)
fmt.Println(body.BirthDay)
fmt.Println(body.Mobile)
fmt.Println(body.Tel)
fmt.Println(body.Data)
fmt.Println(body.ReturnUrl)
fmt.Println(body.TouchSuccess)
}
}
}
刚才用到了,刚刚学有什么问题请指出,谢谢,相互学习!!! 仅供参考
相关文章推荐
- 解析在.net中使用XSLT转换xml文档的示例详解
- java -- XMl解析示例
- 使用Digester解析XML文档示例
- PHP基于SimpleXML生成和解析xml的方法示例
- Android XML解析Pull方式———解析网络数据示例
- 详细解读PHP解析XML元素结构的代码示例
- nodejs实现解析xml字符串为对象的方法示例
- c# 将xml解析成一个类,和解析tomcat配置文件示例
- jquery解析xml字符串简单示例
- java解析xml之sax解析xml示例分享
- Delphi之通过代码示例学习XML解析、StringReplace的用法(异常控制 good)
- Android ApiDemos示例解析(30):App->Preferences->Preferences from XML
- golang xml解析不确定是否存在的元素
- Asp.Net(C#)利用XPath解析XML文档示例
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- jquery解析xml字符串简单示例
- java实现简单解析XML文件功能示例
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)