當前位置: 首頁>>代碼示例>>Golang>>正文


Golang xmlencoder.Copystring函數代碼示例

本文整理匯總了Golang中github.com/ermine/bullxmpp/xmlencoder.Copystring函數的典型用法代碼示例。如果您正苦於以下問題:Golang Copystring函數的具體用法?Golang Copystring怎麽用?Golang Copystring使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了Copystring函數的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: Decode

func (elm *Delete) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "node":
			elm.Node = xmlencoder.Copystring(x.Value)
		}
	}
	var t xml.Token
Loop:
	for {
		if t, err = d.Token(); err != nil {
			return err
		}
		switch t := t.(type) {
		case xml.EndElement:
			break Loop
		case xml.StartElement:
			switch {
			case t.Name.Space == NS && t.Name.Local == "redirect":
				for _, x := range tag.Attr {
					switch {
					case x.Name.Space == "" && x.Name.Local == "url":
						elm.Redirect.Url = xmlencoder.Copystring(x.Value)
					}
				}
			}
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:31,代碼來源:event_data.go

示例2: Decode

func (elm *Start) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "to":
			var j *jid.JID
			if j, err = jid.New(x.Value); err != nil {
				return err
			}
			elm.To = j
		case x.Name.Space == "" && x.Name.Local == "from":
			var j *jid.JID
			if j, err = jid.New(x.Value); err != nil {
				return err
			}
			elm.From = j
		case x.Name.Space == "" && x.Name.Local == "id":
			elm.Id = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "version":
			elm.Version = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "http://www.w3.org/XML/1998/namespace" && x.Name.Local == "lang":
			elm.Lang = &x.Value
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:26,代碼來源:stream_data.go

示例3: Decode

func (elm *Field) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "label":
			elm.Label = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "type":
			value := FieldType(x.Value)
			elm.Type = &value
		case x.Name.Space == "" && x.Name.Local == "var":
			elm.Var = xmlencoder.Copystring(x.Value)
		}
	}
	var t xml.Token
Loop:
	for {
		if t, err = d.Token(); err != nil {
			return err
		}
		switch t := t.(type) {
		case xml.EndElement:
			break Loop
		case xml.StartElement:
			switch {
			case t.Name.Space == NS && t.Name.Local == "desc":
				var s string
				if s, err = d.Text(); err != nil {
					return err
				}
				*elm.Desc = s
			case t.Name.Space == NS && t.Name.Local == "required":
				elm.Required = true
				if err = d.Skip(); err != nil {
					return err
				}
				continue
			case t.Name.Space == NS && t.Name.Local == "value":
				var s string
				if s, err = d.Text(); err != nil {
					return err
				}
				*elm.Value = s
			case t.Name.Space == NS && t.Name.Local == "option":
				newel := &Option{}
				if err = newel.Decode(d, &t); err != nil {
					return err
				}
				elm.Option = append(elm.Option, newel)
			}
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:53,代碼來源:xdata_data.go

示例4: Decode

func (elm *Identity) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "category":
			elm.Category = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "type":
			elm.Type = xmlencoder.Copystring(x.Value)
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:12,代碼來源:info_data.go

示例5: Decode

func (elm *Stat) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "name":
			elm.Name = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "units":
			elm.Units = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "value":
			elm.Value = xmlencoder.Copystring(x.Value)
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:14,代碼來源:stats_data.go

示例6: Decode

func (elm *Caps) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "ext":
			elm.Ext = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "hash":
			elm.Hash = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "node":
			elm.Node = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "ver":
			elm.Ver = xmlencoder.Copystring(x.Value)
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:16,代碼來源:caps_data.go

示例7: Decode

func (elm *Item) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "action":
			value := ItemAction(x.Value)
			elm.Action = &value
		case x.Name.Space == "" && x.Name.Local == "order":
			var i uint64
			i, err = strconv.ParseUint(x.Value, 10, 0)
			if err == nil {
				*elm.Order = uint(i)
			}
		case x.Name.Space == "" && x.Name.Local == "type":
			value := ItemType(x.Value)
			elm.Type = &value
		case x.Name.Space == "" && x.Name.Local == "value":
			elm.Value = xmlencoder.Copystring(x.Value)
		}
	}
	var t xml.Token
Loop:
	for {
		if t, err = d.Token(); err != nil {
			return err
		}
		switch t := t.(type) {
		case xml.EndElement:
			break Loop
		case xml.StartElement:
			switch {
			case t.Name.Space == NS && t.Name.Local == "iq":
				elm.Iq = true
				if err = d.Skip(); err != nil {
					return err
				}
				continue
			case t.Name.Space == NS && t.Name.Local == "message":
				elm.Message = true
				if err = d.Skip(); err != nil {
					return err
				}
				continue
			case t.Name.Space == NS && t.Name.Local == "presence-in":
				elm.PresenceIn = true
				if err = d.Skip(); err != nil {
					return err
				}
				continue
			case t.Name.Space == NS && t.Name.Local == "presence-out":
				elm.PresenceOut = true
				if err = d.Skip(); err != nil {
					return err
				}
				continue
			}
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:60,代碼來源:privacy_data.go

示例8: Decode

func (elm *Iq) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "from":
			var j *jid.JID
			if j, err = jid.New(x.Value); err != nil {
				return err
			}
			elm.From = j
		case x.Name.Space == "" && x.Name.Local == "to":
			var j *jid.JID
			if j, err = jid.New(x.Value); err != nil {
				return err
			}
			elm.To = j
		case x.Name.Space == "" && x.Name.Local == "id":
			elm.Id = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "type":
			value := IqType(x.Value)
			elm.Type = &value
		case x.Name.Space == "http://www.w3.org/XML/1998/namespace" && x.Name.Local == "lang":
			elm.Lang = &x.Value
		}
	}
	var t xml.Token
Loop:
	for {
		if t, err = d.Token(); err != nil {
			return err
		}
		switch t := t.(type) {
		case xml.EndElement:
			break Loop
		case xml.StartElement:
			switch {
			default:
				if newel, ok := xmlencoder.GetExtension(t.Name); ok {
					if err = newel.(xmlencoder.Extension).Decode(d, &t); err != nil {
						return err
					}
					elm.Payload = newel
				} else {
					if err = d.Skip(); err != nil {
						return err
					}
				}
			case t.Name.Space == "urn:ietf:params:xml:ns:xmpp-stanzas" && t.Name.Local == "error":
				newel := &stanza.Error{}
				if err = newel.Decode(d, &t); err != nil {
					return err
				}
				elm.Error = newel
			}
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:58,代碼來源:client_data.go

示例9: Decode

func (elm *Item) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "affiliation":
			value := ItemAffiliation(x.Value)
			elm.Affiliation = &value
		case x.Name.Space == "" && x.Name.Local == "jid":
			var j *jid.JID
			if j, err = jid.New(x.Value); err != nil {
				return err
			}
			elm.Jid = j
		case x.Name.Space == "" && x.Name.Local == "nick":
			elm.Nick = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "role":
			value := ItemRole(x.Value)
			elm.Role = &value
		}
	}
	var t xml.Token
Loop:
	for {
		if t, err = d.Token(); err != nil {
			return err
		}
		switch t := t.(type) {
		case xml.EndElement:
			break Loop
		case xml.StartElement:
			switch {
			case t.Name.Space == NS && t.Name.Local == "actor":
				for _, x := range tag.Attr {
					switch {
					case x.Name.Space == "" && x.Name.Local == "jid":
						var j *jid.JID
						if j, err = jid.New(x.Value); err != nil {
							return err
						}
						elm.Actor.Jid = j
					}
				}
			case t.Name.Space == NS && t.Name.Local == "reason":
				var s string
				if s, err = d.Text(); err != nil {
					return err
				}
				*elm.Reason = s
			}
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:53,代碼來源:admin_data.go

示例10: Decode

func (elm *Auth) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "mechanism":
			elm.Mechanism = xmlencoder.Copystring(x.Value)
		}
	}
	var bdata []byte
	if bdata, err = d.Bytes(); err != nil {
		return err
	}
	elm.Data = bdata
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:15,代碼來源:sasl_data.go

示例11: Decode

func (elm *Item) Decode(d *xmlencoder.Decoder, tag *xml.StartElement) error {
	var err error
	for _, x := range tag.Attr {
		switch {
		case x.Name.Space == "" && x.Name.Local == "approved":
			var b bool
			b, err = strconv.ParseBool(x.Value)
			if err == nil {
				elm.Approved = b
			}
		case x.Name.Space == "" && x.Name.Local == "ask":
			value := ItemAsk(x.Value)
			elm.Ask = &value
		case x.Name.Space == "" && x.Name.Local == "jid":
			var j *jid.JID
			if j, err = jid.New(x.Value); err != nil {
				return err
			}
			elm.Jid = j
		case x.Name.Space == "" && x.Name.Local == "name":
			elm.Name = xmlencoder.Copystring(x.Value)
		case x.Name.Space == "" && x.Name.Local == "subscription":
			value := ItemSubscription(x.Value)
			elm.Subscription = &value
		}
	}
	var t xml.Token
Loop:
	for {
		if t, err = d.Token(); err != nil {
			return err
		}
		switch t := t.(type) {
		case xml.EndElement:
			break Loop
		case xml.StartElement:
			switch {
			case t.Name.Space == NS && t.Name.Local == "group":
				var s string
				if s, err = d.Text(); err != nil {
					return err
				}
				elm.Group = append(elm.Group, s)
			}
		}
	}
	return err
}
開發者ID:oxpa,項目名稱:bullxmpp,代碼行數:48,代碼來源:roster_data.go


注:本文中的github.com/ermine/bullxmpp/xmlencoder.Copystring函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。