1

我有一些代码。我想动态获取 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)
}

我尝试生成不同的结构,但我想找到漂亮的决定

4

0 回答 0