本文整理汇总了Golang中encoding/xml.StartElement类的典型用法代码### 示例。如果您正苦于以下问题:Golang StartElement类的具体用法?Golang StartElement怎么用?Golang StartElement使用的例子?那么恭喜您, 这里精选的类代码### 示例或许可以为您提供帮助。

在下文中一共展示了StartElement类的20个代码### 示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码### 示例。

示例1: MarshalXML

func (bagc BiddableAdGroupCriterion) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
    start.Attr = append(
        start.Attr,
        xml.Attr{
            xml.Name{"http://www.w3.org/2001/XMLSchema-instance", "type"},
            "BiddableAdGroupCriterion",
        },
    )
    e.EncodeToken(start)
    e.EncodeElement(&bagc.AdGroupId, xml.StartElement{Name: xml.Name{"", "adGroupId"}})
    criterionMarshalXML(bagc.Criterion, e)

    if bagc.UserStatus != "" {
        e.EncodeElement(&bagc.UserStatus, xml.StartElement{Name: xml.Name{"", "userStatus"}})
    }
    if bagc.DestinationUrl != "" {
        e.EncodeElement(&bagc.DestinationUrl, xml.StartElement{Name: xml.Name{"", "destinationUrl"}})
    }
    e.EncodeElement(&bagc.BiddingStrategyConfiguration, xml.StartElement{Name: xml.Name{"", "biddingStrategyConfiguration"}})
    if bagc.BidModifier != 0 {
        e.EncodeElement(&bagc.BidModifier, xml.StartElement{Name: xml.Name{"", "bidModifier"}})
    }
    e.EncodeToken(start.End())
    return nil
}

开发者ID:Nyarum,项目名称:gads,代码行数:25,代码来源:biddable_ad_group_criterion.go

示例2: MarshalXML

func (a1 AdGroupAds) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
    a := a1[0]
    e.EncodeToken(start)
    switch a.(type) {
    case TextAd:
        ad := a.(TextAd)
        e.EncodeElement(ad.AdGroupId, xml.StartElement{Name: xml.Name{"", "adGroupId"}})
        e.EncodeElement(ad, xml.StartElement{
            xml.Name{"", "ad"},
            []xml.Attr{
                xml.Attr{xml.Name{"http://www.w3.org/2001/XMLSchema-instance", "type"}, "TextAd"},
            },
        })
        e.EncodeElement(ad.Status, xml.StartElement{Name: xml.Name{"", "status"}})
        e.EncodeElement(ad.Labels, xml.StartElement{Name: xml.Name{"", "labels"}})
    case ImageAd:
        return ERROR_NOT_YET_IMPLEMENTED
    case TemplateAd:
        return ERROR_NOT_YET_IMPLEMENTED
    default:
        return fmt.Errorf("unknown Ad type -> %#v", start)
    }
    e.EncodeToken(start.End())
    return nil
}

开发者ID:foxglove1028,项目名称:gads,代码行数:25,代码来源:ad_group_ads.go

示例3: marshalDescription

func marshalDescription(eltname string, e *xml.Encoder, desc map[string]template.HTML) error {
    var err error
    for lang, text := range desc {
        startElt := xml.StartElement{Name: xml.Name{Local: eltname}}

        startElt.Attr = []xml.Attr{
            xml.Attr{Name: xml.Name{Local: "lang"}, Value: lang},
        }

        err = e.EncodeToken(startElt)
        if err != nil {
            return err
        }

        err = e.EncodeToken(xml.CharData(string(text)))
        if err != nil {
            return err
        }

        err = e.EncodeToken(xml.EndElement{Name: startElt.Name})
        if err != nil {
            return err
        }

    }
    return nil
}

开发者ID:speedata,项目名称:ltxdoc,代码行数:27,代码来源:xmlout.go

示例4: encEle

func encEle(n tree.Elem, e *xml.Encoder) error {
    ele := xml.StartElement{
        Name: n.GetToken().(xml.StartElement).Name,
    }

    attrs := n.GetAttrs()
    ele.Attr = make([]xml.Attr, len(attrs))
    for i := range attrs {
        ele.Attr[i] = attrs[i].GetToken().(xml.Attr)
    }

    err := e.EncodeToken(ele)
    if err != nil {
        return err
    }

    if x, ok := n.(tree.Elem); ok {
        for _, i := range x.GetChildren() {
            err := encTok(i, e)
            if err != nil {
                return err
            }
        }
    }

    return e.EncodeToken(ele.End())
}

开发者ID:ChrisTrenkamp,项目名称:goxpath,代码行数:27,代码来源:marshal.go

示例5: ParseList

func (c ChoiceParser) ParseList(d *xml.Decoder, start xml.StartElement, containerPtr interface{}, typeofPtr interface{}, appenderType appender) error {
    typeof := reflect.TypeOf(typeofPtr).Elem()
    container := reflect.ValueOf(containerPtr).Elem()
    token, err := d.Token()
    for token != start.End() {
        if err != nil {
            return err
        }
        next, ok := token.(xml.StartElement)
        if ok {
            item, err := c.Parse(d, next)
            if err != nil {
                return err
            }
            val := reflect.ValueOf(item)
            if !val.Type().Implements(typeof) {
                return fmt.Errorf("Item is not a valid %v.", typeof.Name())
            }
            appendFn := appenders[appenderType]
            appendFn(container, val)
        }
        token, err = d.Token()
    }
    return nil
}

开发者ID:voltron42,项目名称:xtraml,代码行数:25,代码来源:choice.go

最后编辑: kuteng  文档更新时间: 2021-08-23 19:14   作者:kuteng