本文整理汇总了Golang中github.com/rilinor/go-xml/xsdgen.Config类的典型用法代码示例。如果您正苦于以下问题:Golang Config类的具体用法?Golang Config怎么用?Golang Config使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Config类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: ExampleIgnoreElements
func ExampleIgnoreElements() {
doc := xsdfile(`
<complexType name="Person">
<sequence>
<element name="name" type="xs:string" />
<element name="deceased" type="soapenc:boolean" />
<element name="private" type="xs:int" />
</sequence>
</complexType>
`)
var cfg xsdgen.Config
cfg.Option(
xsdgen.IgnoreElements("private"),
xsdgen.IgnoreAttributes("id", "href"))
out, err := cfg.GenSource(doc)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
// Output: package ws
//
// type Person struct {
// Name string `xml:"http://www.example.com/ name"`
// Deceased bool `xml:"http://www.example.com/ deceased"`
// }
}
开发者ID:rilinor,项目名称:go-xml,代码行数:28,代码来源:example_test.go
示例2: ExampleUseFieldNames
func ExampleUseFieldNames() {
doc := xsdfile(`
<complexType name="library">
<sequence>
<element name="book" maxOccurs="unbounded">
<complexType>
<all>
<element name="title" type="xs:string" />
<element name="published" type="xs:date" />
<element name="author" type="xs:string" />
</all>
</complexType>
</element>
</sequence>
</complexType>`)
var cfg xsdgen.Config
cfg.Option(xsdgen.UseFieldNames())
out, err := cfg.GenSource(doc)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
// Output: package ws
//
// import (
// "bytes"
// "time"
// )
//
// type Book struct {
// Title string `xml:"http://www.example.com/ title"`
// Published xsdDate `xml:"http://www.example.com/ published"`
// Author string `xml:"http://www.example.com/ author"`
// }
// type Library struct {
// Book []Book `xml:"http://www.example.com/ book"`
// Title string `xml:"http://www.example.com/ title"`
// Published xsdDate `xml:"http://www.example.com/ published"`
// Author string `xml:"http://www.example.com/ author"`
// }
// type xsdDate time.Time
//
// func (t *xsdDate) UnmarshalText(text []byte) error {
// return _unmarshalTime(text, (*time.Time)(t), "2006-01-02")
// }
// func (t *xsdDate) MarshalText() ([]byte, error) {
// return []byte((*time.Time)(t).Format("2006-01-02")), nil
// }
// func _unmarshalTime(text []byte, t *time.Time, format string) (err error) {
// s := string(bytes.TrimSpace(text))
// *t, err = time.Parse(format, s)
// if _, ok := err.(*time.ParseError); ok {
// *t, err = time.Parse(format+"Z07:00", s)
// }
// return err
// }
}
开发者ID:rilinor,项目名称:go-xml,代码行数:60,代码来源:example_test.go
示例3: ExampleHandleSOAPArrayType
func ExampleHandleSOAPArrayType() {
doc := xsdfile(`
<complexType name="BoolArray">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xs:boolean[]"/>
</restriction>
</complexContent>
</complexType>`)
var cfg xsdgen.Config
cfg.Option(xsdgen.HandleSOAPArrayType())
out, err := cfg.GenSource(doc)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
// Output: package ws
//
// type BoolArray struct {
// Offset ArrayCoordinate `xml:"offset,attr"`
// Id string `xml:"id,attr"`
// Href string `xml:"href,attr"`
// Items []bool `xml:",any"`
// }
}
开发者ID:rilinor,项目名称:go-xml,代码行数:28,代码来源:example_test.go
示例4: ExampleSOAPArrayAsSlice
func ExampleSOAPArrayAsSlice() {
doc := xsdfile(`
<complexType name="BoolArray">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xs:boolean[]"/>
</restriction>
</complexContent>
</complexType>`)
var cfg xsdgen.Config
cfg.Option(
xsdgen.HandleSOAPArrayType(),
xsdgen.SOAPArrayAsSlice(),
xsdgen.IgnoreAttributes("offset", "id", "href"))
out, err := cfg.GenSource(doc)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
// Output: package ws
//
// import "encoding/xml"
//
// type BoolArray []bool
//
// func (a *BoolArray) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
// tag := xml.StartElement{Name: xml.Name{"", "item"}}
// for _, elt := range *a {
// if err := e.EncodeElement(elt, tag); err != nil {
// return err
// }
// }
// return nil
// }
// func (a *BoolArray) UnmarshalXML(d *xml.Decoder, start xml.StartElement) (err error) {
// var tok xml.Token
// var itemTag = xml.Name{"", ",any"}
// for tok, err = d.Token(); err == nil; tok, err = d.Token() {
// if tok, ok := tok.(xml.StartElement); ok {
// var item bool
// if itemTag.Local != ",any" && itemTag != tok.Name {
// err = d.Skip()
// continue
// }
// if err = d.DecodeElement(&item, &tok); err == nil {
// *a = append(*a, item)
// }
// }
// if _, ok := tok.(xml.EndElement); ok {
// break
// }
// }
// return err
// }
}
开发者ID:rilinor,项目名称:go-xml,代码行数:58,代码来源:example_test.go
示例5: ExampleLogOutput
func ExampleLogOutput() {
var cfg xsdgen.Config
cfg.Option(
xsdgen.LogOutput(log.New(os.Stderr, "", 0)),
xsdgen.LogLevel(2))
if err := cfg.GenCLI("file.wsdl"); err != nil {
log.Fatal(err)
}
}
开发者ID:rilinor,项目名称:go-xml,代码行数:9,代码来源:example_test.go
示例6: ExampleConfig_GenCLI
func ExampleConfig_GenCLI() {
var cfg xsdgen.Config
cfg.Option(
xsdgen.IgnoreAttributes("id", "href", "offset"),
xsdgen.IgnoreElements("comment"),
xsdgen.PackageName("webapi"),
xsdgen.Replace("_", ""),
xsdgen.HandleSOAPArrayType(),
xsdgen.SOAPArrayAsSlice(),
)
if err := cfg.GenCLI("webapi.xsd", "deps/soap11.xsd"); err != nil {
log.Fatal(err)
}
}
开发者ID:rilinor,项目名称:go-xml,代码行数:14,代码来源:example_test.go
示例7: main
func main() {
log.SetFlags(0)
var cfg xsdgen.Config
cfg.Option(xsdgen.DefaultOptions...)
cfg.Option(xsdgen.LogOutput(log.New(os.Stderr, "", 0)))
if err := cfg.GenCLI(os.Args[1:]...); err != nil {
log.Fatal(err)
}
}
开发者ID:rilinor,项目名称:go-xml,代码行数:10,代码来源:xsdgen.go
示例8: ExamplePackageName
func ExamplePackageName() {
doc := xsdfile(`
<simpleType name="zipcode">
<restriction base="xs:string">
<length value="10" />
</restriction>
</simpleType>
`)
var cfg xsdgen.Config
cfg.Option(xsdgen.PackageName("postal"))
out, err := cfg.GenSource(doc)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
// Output: package postal
//
// type Zipcode string
}
开发者ID:rilinor,项目名称:go-xml,代码行数:21,代码来源:example_test.go
示例9: ExampleIgnoreAttributes
func ExampleIgnoreAttributes() {
doc := xsdfile(`
<complexType name="ArrayOfString">
<any maxOccurs="unbounded" />
<attribute name="soapenc:arrayType" type="xs:string" />
</complexType>
`)
var cfg xsdgen.Config
cfg.Option(xsdgen.IgnoreAttributes("arrayType"))
out, err := cfg.GenSource(doc)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
// Output: package ws
//
// type ArrayOfString struct {
// Items []string `xml:",any"`
// }
}
开发者ID:rilinor,项目名称:go-xml,代码行数:22,代码来源:example_test.go
注:本文中的github.com/rilinor/go-xml/xsdgen.Config类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论