在Go中使用嵌套的XML-RPC解组

在Go中使用嵌套的XML-RPC解组,xml,go,xml-rpc,unmarshalling,Xml,Go,Xml Rpc,Unmarshalling,我正在使用WebPavilion API并尝试解组他们的响应以获取会话ID(下面是12345abcde) 当特定值嵌套在多个字段(即params>param)下时,如何访问该值 以下代码位于 不是100%清楚你想做什么,但这似乎能更好地分解它 type Member struct { Name string `xml:"name"` Value string `xml:"value>string"` } type Result struct { XMLNa

我正在使用WebPavilion API并尝试解组他们的响应以获取会话ID(下面是12345abcde)

当特定值嵌套在多个字段(即params>param)下时,如何访问该值

以下代码位于


不是100%清楚你想做什么,但这似乎能更好地分解它

type Member struct {
    Name string `xml:"name"`
    Value string `xml:"value>string"`
}

type Result struct {
        XMLName xml.Name `xml:"methodResponse"`
        FirstValue string `xml:"params>param>value>array>data>value>string"`
        Members []Member `xml:"params>param>value>array>data>value>struct>member"`
}

注意,您的解析结构具有相当疯狂的深度级别。可能有助于通过一台漂亮的打印机运行XML,通过缩进将其格式化以供查看。

不是100%清楚您要做什么,但这似乎能更好地分解它

type Member struct {
    Name string `xml:"name"`
    Value string `xml:"value>string"`
}

type Result struct {
        XMLName xml.Name `xml:"methodResponse"`
        FirstValue string `xml:"params>param>value>array>data>value>string"`
        Members []Member `xml:"params>param>value>array>data>value>struct>member"`
}

请注意,您解析的结构具有相当高的深度。可能有助于通过一台漂亮的打印机运行XML,该打印机使用缩进对XML进行格式化以供查看。

是否存在用于后期处理和消除冗余深度的方法?同意疯狂的深度让我感到不舒服不确定你是否需要对它进行后处理-在你运行它之后,你只会得到一个直接的字符串,即:v.FirstValue==“12345abcde12345abcde12345”。您必须指定要从何处获取数据的位置。。。也可能在xml标记中。是否存在一种方法来进行后期处理并消除冗余深度?同意疯狂的深度让我感到不舒服不确定你是否需要对它进行后处理-在你运行它之后,你只会得到一个直接的字符串,即:v.FirstValue==“12345abcde12345abcde12345”。您必须指定要从何处获取数据的位置。。。也可能在xml标记中。
type Member struct {
    Name string `xml:"name"`
    Value string `xml:"value>string"`
}

type Result struct {
        XMLName xml.Name `xml:"methodResponse"`
        FirstValue string `xml:"params>param>value>array>data>value>string"`
        Members []Member `xml:"params>param>value>array>data>value>struct>member"`
}