обработка v xml ответа в Golang - PullRequest
0 голосов
/ 15 апреля 2020

Я использую HTTP-запрос, используя golang, который выдает ответ в V XML. Как мы можем обработать этот ответ v xml в Golang? Мне нужно получить значение "sd_returnCode" и "sd_returnMsg"

ответ:

<?xml version="1.0" encoding="UTF-8" ?>
<vxml version="2.0">
    <catch>
        <return eventexpr="_event" messageexpr="_message" />
    </catch>
    <form id="saveCallHistory">
        <var name="sd_returnCode" expr="0" />
        <var name="sd_returnMsg" expr="&quot;success&quot;" />
        <block>
            <return namelist="        sd_returnCode  sd_returnMsg   "/>
        </block>
    </form>
</vxml>

Код:

resp, err := http.Get("http://exmaple.com/callHistory/create?call.value=0002,1,20200413,94223,1234,00:49,T,E,R,62410,SPEAK_FREELY,1326,X,153139815&call.bm%5B0%5D.value=1234,20200413,94227,1234,20200413,94227,A,0,A,Q,262,4,0,0,H,N,0,00,0,00,1,0,2,0,0,,,0,T,F,,0,0,0,,I,Q,0,N&call.bm%5B0%5D.events=")
    if err != nil {
        log.Fatalln(err)
    }

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatalln(err)
    }

    log.Println(string(body))

Я пытался создать структуру но это дает ниже ошибку

.\test.go:10:20: invalid identifier character U+0300 '̀'
.\test.go:10:20: syntax error: unexpected ̀, expecting semicolon or newline or }
.\test.go:12:19: invalid identifier character U+0300 '̀'
.\test.go:50:24: syntax error: unexpected vxmlForm, expecting comma or )

мои структуры

type VXML struct {
    XMLName  xml.Name ̀`xml:"vxml"`
    Catch string `xml:"catch"`
    Forms    Forms   ̀`xml:"form"`
}

type Forms struct {
    VarValues []VarValues `xml:var`
}

type VarValues struct {
    Name string `xml:name,attr`
    Expr string `xml:expr,attr`
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...