Golang如何动态解析成xml异常

时间:2017-11-28 15:02:30

标签: xml-parsing glide-golang

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

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

0 个答案:

没有答案