go 用结构解析XML

来源:互联网 发布:淘宝二手手机店铺推荐 编辑:程序博客网 时间:2024/05/22 17:21

结构定义如下,在tag中写明在xml中的映射关系。可以是子节点,也可以是属性,还可以是chardata。当然,结构的成员必须是大写字母打头的,对外可见。多层节点可以用大于号连接,如“onentry>action”。用chardata时,tag为`xml:”,chardata”`。

// state machine for unmarshal jsontype stateMachine struct {    Defaultstate bool    `xml:"defaultstate,attr"`    Initialstate string  `xml:"initialstate,attr"`    Timeoutstate string  `xml:"timeoutstate,attr"`    States []state       `xml:"state"`}// state for unmarshal jsontype state struct {    Id string            `xml:"id,attr"`    Timeout float64      `xml:"timeout,attr"`    Onentry []action     `xml:"onentry"`    Onexit []action      `xml:"onexit"`    Transitions []transition    `xml:"transition"`}// action for unmarshal jsontype action struct {    Name string          `xml:"name,attr"`    Paras []Any    ParasXML []string    `xml:"para"`    // for xml   }// transition for unmarshal jsontype transition struct {    Event string         `xml:"event,attr"`    Cond string          `xml:"cond,attr"`    Target string        `xml:"target,attr"`}
0 0
原创粉丝点击