- - Go's encoding/xml library has an 11-year-old bug that Google has not fixed, causing issues with mixing namespaced and non-namespaced tags.
- - The bug causes field deserialization to fail depending on the order of fields in a struct when using namespaces.
- - Workarounds like using fake namespaces or custom types are hacky and inadequate for proper XML parsing or generation.
- The library struggles even with common tasks like parsing RSS or podcast feeds, which should be well-supported.
- Recommendation is to avoid using encoding/xml for nontrivial XML tasks until Google fixes it or an alternative library emerges.