Considerare questi documenti 2 XMLEvitare intero XML analizzano se il campo vuoto
<a>
<b nil="true"></b>
</a>
e
<a>
<b type="integer">1</b>
</a>
Come posso unmarshalling questo XML correttamente Vai a un campo b
struct di tipo int
, senza producendo un errore strconv.ParseInt: parsing "": invalid syntax
nel primo caso?
non sembra funzionare in questo caso.
Esempio: http://play.golang.org/p/fbhVJ4zUbl
Si consiglia di eseguire la propria implementazione del decoder XML che include il decodificatore xml di Go. 'Encoding/json' è molto più potente, si potrebbe prendere come esempio. Se 'json.Unmarshal (...)' vede che l'istanza di tipi 'obj' implementa' json.Unmarshaler', chiamerà 'obj.UnmarshalJSON'. Non ho idea del perché 'encoding/xml' non faccia la stessa cosa. Puoi pubblicare la tua domanda sulla [Vai mailing list] (https://groups.google.com/forum/#!forum/golang-nuts). Sembra strano che rendere "b" un puntatore non funziona neanche. – Philip