go xml 数组[]any
时间: 2024-01-06 18:03:48 浏览: 68
在 Go 中使用 XML 解析器解析 XML 文档时,如果 XML 文档中包含数组类型的数据,可以使用 `[]interface{}` 或 `[]string` 类型来表示。
例如,考虑以下 XML 文档:
```xml
<fruits>
<fruit>apple</fruit>
<fruit>banana</fruit>
<fruit>orange</fruit>
</fruits>
```
可以使用以下代码将其解析为一个字符串切片:
```go
type Fruits struct {
XMLName xml.Name `xml:"fruits"`
Fruit []string `xml:"fruit"`
}
func main() {
xmlStr := `<fruits>
<fruit>apple</fruit>
<fruit>banana</fruit>
<fruit>orange</fruit>
</fruits>`
fruits := Fruits{}
xml.Unmarshal([]byte(xmlStr), &fruits)
fmt.Println(fruits.Fruit) // Output: [apple banana orange]
}
```
在这里,我们定义了一个名为 `Fruits` 的结构体,其中 `XMLName` 字段用于指定 XML 元素名称,`Fruit` 字段用于存储所有 `<fruit>` 元素的值。然后使用 `xml.Unmarshal()` 函数将 XML 字符串解析为 `Fruits` 结构体的实例。最后,我们可以访问 `Fruit` 字段来获取所有 `<fruit>` 元素的值。
阅读全文