這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
結構定義如下,在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"`}