encoding/xml decodes XML into Go structures and reads streaming responses through io.Reader values. Use xml.NewDecoder for an HTTP response body; use Unmarshal when the complete data is already a byte slice. section 6.5.4
Reading ECB exchange rates
Create an xml.Decoder from resp.Body, decode the ECB envelope, and calculate a requested exchange rate. Wrap malformed XML as an unexpected-format error and missing currencies as a lookup error.

