Golang encoding/xml.Decoder.RawToken() example
package encoding/xml
RawToken is like Token but does not verify that start and end elements match and does not translate name space prefixes to their corresponding URLs.
Golang encoding/xml.Decoder.RawToken() usage example
func (d *Decode) parseXML(s string, pre *node) bool {
tokenArray := make([]xmlToken, 0, 64)
decoder := xml.NewDecoder(strings.NewReader(s))
for t, err := decoder.RawToken(); err == nil; t, err = decoder.RawToken() { // <-- here
tokenArray = append(tokenArray, xmlToken{token: xml.CopyToken(t)})
}
var isXML bool
for i := 0; i < len(tokenArray); i++ {
if token, ok := tokenArray[i].token.(xml.CharData); ok {
if i > 0 && i+1 < len(tokenArray) {
if start, ok := tokenArray[i-1].token.(xml.StartElement); ok {
if _, ok := tokenArray[i+1].token.(xml.EndElement); ok {
isXML = true
tokenArray[i].isData = true
d.decode(string(token), &node{XMLOBJ, pre,
start.Name.Local, &xmlObj{tokenArray, i}})
}
}
}
}
}
return isXML
}
Reference :
Advertisement
Something interesting
Tutorials
+10.4k Golang : Convert file content to Hex
+18.6k Golang : Set, Get and List environment variables
+18.3k Golang : Get path name to current directory or folder
+15.9k Golang : Get digits from integer before and after given position example
+13.8k Golang : Image to ASCII art example
+10.7k Golang : Allow Cross-Origin Resource Sharing request
+5.3k JavaScript/JQuery : Redirect page examples
+5.3k Javascript : Change page title to get viewer attention
+4.9k HTTP common errors and their meaning explained
+35.2k Golang : Upload and download file to/from AWS S3
+9.3k Golang : How to check if a string with spaces in between is numeric?
+17k Golang : How to generate QR codes?