converter.go 445 B

1234567891011121314151617181920212223242526
  1. package xml2json
  2. import (
  3. "bytes"
  4. "io"
  5. )
  6. // Convert converts the given XML document to JSON
  7. func Convert(r io.Reader, ps ...plugin) (*bytes.Buffer, error) {
  8. // Decode XML document
  9. root := &Node{}
  10. err := NewDecoder(r, ps...).Decode(root)
  11. if err != nil {
  12. return nil, err
  13. }
  14. // Then encode it in JSON
  15. buf := new(bytes.Buffer)
  16. e := NewEncoder(buf, ps...)
  17. err = e.Encode(root)
  18. if err != nil {
  19. return nil, err
  20. }
  21. return buf, nil
  22. }