在Go中使用嵌套的XML-RPC解组
我正在使用WebPavilion API并尝试解组他们的响应以获取会话ID(下面是12345abcde) 当特定值嵌套在多个字段(即params>param)下时,如何访问该值 以下代码位于在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
不是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"`
}