X7ROOT File Manager
Current Path:
/opt/golang/1.17.2/src/encoding/xml
opt
/
golang
/
1.17.2
/
src
/
encoding
/
xml
/
📁
..
📄
atom_test.go
(1.58 KB)
📄
example_marshaling_test.go
(1.49 KB)
📄
example_test.go
(3.72 KB)
📄
example_text_marshaling_test.go
(1.39 KB)
📄
marshal.go
(29.3 KB)
📄
marshal_test.go
(63.82 KB)
📄
read.go
(21.86 KB)
📄
read_test.go
(28.19 KB)
📄
typeinfo.go
(9.6 KB)
📄
xml.go
(46.85 KB)
📄
xml_test.go
(25.74 KB)
Editing: example_text_marshaling_test.go
// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package xml_test import ( "encoding/xml" "fmt" "log" "strings" ) type Size int const ( Unrecognized Size = iota Small Large ) func (s *Size) UnmarshalText(text []byte) error { switch strings.ToLower(string(text)) { default: *s = Unrecognized case "small": *s = Small case "large": *s = Large } return nil } func (s Size) MarshalText() ([]byte, error) { var name string switch s { default: name = "unrecognized" case Small: name = "small" case Large: name = "large" } return []byte(name), nil } func Example_textMarshalXML() { blob := ` <sizes> <size>small</size> <size>regular</size> <size>large</size> <size>unrecognized</size> <size>small</size> <size>normal</size> <size>small</size> <size>large</size> </sizes>` var inventory struct { Sizes []Size `xml:"size"` } if err := xml.Unmarshal([]byte(blob), &inventory); err != nil { log.Fatal(err) } counts := make(map[Size]int) for _, size := range inventory.Sizes { counts[size] += 1 } fmt.Printf("Inventory Counts:\n* Small: %d\n* Large: %d\n* Unrecognized: %d\n", counts[Small], counts[Large], counts[Unrecognized]) // Output: // Inventory Counts: // * Small: 3 // * Large: 2 // * Unrecognized: 3 }
Upload File
Create Folder