mirror of
https://github.com/aclindsa/ofxgo.git
synced 2025-07-01 11:48:38 -04:00
Reorganization
This commit is contained in:
25
util.go
Normal file
25
util.go
Normal file
@ -0,0 +1,25 @@
|
||||
package ofxgo
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"github.com/golang/go/src/encoding/xml"
|
||||
)
|
||||
|
||||
// Returns the next available Token from the xml.Decoder that is not CharData
|
||||
// made up entirely of whitespace. This is useful to skip whitespace when
|
||||
// manually unmarshaling XML.
|
||||
func nextNonWhitespaceToken(decoder *xml.Decoder) (xml.Token, error) {
|
||||
for {
|
||||
tok, err := decoder.Token()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if chars, ok := tok.(xml.CharData); ok {
|
||||
strippedBytes := bytes.TrimSpace(chars)
|
||||
if len(strippedBytes) != 0 {
|
||||
return tok, nil
|
||||
}
|
||||
} else {
|
||||
return tok, nil
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user