Ecco la struttura XML:unmarshal XML non rispetta l'elemento principale definizione namespace prefix
<root xmlns:test="http://test.com/testns">
<test:sub>
<title>this is title</title>
</test:sub>
</root>
Si ottiene deserializzati con le struct definito di seguito:
type Root struct {
XMLName xml.Name `xml:"root"`
Sub *Sub
}
type Sub struct {
XMLName xml.Name `xml:"http://test.com/testns sub"`
Title string `xml:"title"`
}
Questo è ciò che viene marshalling indietro:
<root>
<sub xmlns="http://test.com/testns">
<title>this is title</title>
</sub>
</root>
La definizione del prefisso dello spazio dei nomi di root viene rimossa dopo il marshall e il sottoeleme nt sta usando il namespace url invece del prefisso. Ecco lo code
C'è un modo che marshal/unmarshal non cambierà la struttura xml? Grazie!
Sembra che gli spazi dei nomi xml non funzionino correttamente per ora https://github.com/golang/go/issues/9519 https://github.com/golang/go/issues/11841 – RoninDev
Se è così allora quello è un risposta ed è probabilmente meglio trasformato in una risposta in modo che possa essere accettata. – ijt