我有一些代码。我想动态获取 elem NoSessionException,因为我几乎没有带有不同异常的 xml 响应。我该怎么做?
package main
import (
"encoding/xml"
"fmt"
)
type E struct {
XMLName xml.Name `xml:"Envelope"`
Body struct {
F MfcFaultType `xml:"Fault"`
}
}
type MfcFaultType struct {
FaultCode string `xml:"faultcode"`
FaultString string `xml:"faultstring"`
Detail string `xml:"detail>ns2"`
}
var data = []byte(`<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
<faultcode>S:Server</faultcode>
<faultstring>ffffffff</faultstring>
<detail>
<ns2:NoSessionException message="fffffff." xmlns:ns2="http://webservice.booking.booking.avilex.ru/"/>
</detail>
</S:Fault>
</S:Body>
</S:Envelope>`)
func main() {
var q E
xml.Unmarshal(data, &q)
fmt.Println(q)
}
我尝试生成不同的结构,但我想找到漂亮的决定