我试图从下面的XML中提取一个简单的XML,但输出只返回Name的最后一个值
{{1}}
答案 0 :(得分:0)
在The Go Playground上试用:
include('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js');
(function (window) {
"use strict";
var config = {
urlPrefix: "",
visitsUrl: "/ahoy/visits",
eventsUrl: "/ahoy/events",
cookieDomain: null,
page: null,
platform: "Web",
useBeacon: false,
startOnReady: true
};
var ahoy = window.ahoy || window.Ahoy || {};
ahoy.configure = function (options) {
for (var key in options) {
if (options.hasOwnProperty(key)) {
config[key] = options[key];
}
}
};
.......
输出:
package main
import (
"encoding/xml"
"fmt"
)
type Member struct {
Names []string `xml:"names>name"`
Value string `xml:"value>string"`
}
type Result struct {
Members []Member `xml:"params>param>value>array>data>value>struct>member"`
}
func main() {
data := `
<methodResponse>
<params>
<param>
<value>
<array>
<data>
<value>
<string>12345abcde12345abcde12345</string>
</value>
<value>
<struct>
<member>
<names>
<name> 2 </name>
<name> 3 </name>
<name> 4 </name>
</names>
<value>
<string>trex</string>
</value>
</member>
<member>
<names>
<name> 2 </name>
<name> 3 </name>
<name> 4 </name>
</names>
<value>
<string>trex</string>
</value>
</member>
</struct>
</value>
</data>
</array>
</value>
</param>
</params>
</methodResponse>`
v := Result{}
err := xml.Unmarshal([]byte(data), &v)
if err != nil {
panic(err)
}
fmt.Println(v)
}
答案 1 :(得分:0)
我想通过将名称作为切片
来解决这个问题名称[]字符串xml:"name"