golang map转xml
package main
import (
"encoding/xml"
"fmt"
)
type MyMap map[string]interface{}
type xmlMapEntry struct {
XMLName xml.Name
Value interface{} `xml:",chardata"`
}
// map转xml
func (m MyMap) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if len(m) == 0 {
return nil
}
err := e.EncodeToken(start)
if err != nil {
return err
}
for k, v := range m {
e.Encode(xmlMapEntry{XMLName: xml.Name{Local: k}, Value: v})
}
return e.EncodeToken(start.End())
}
func main() {
m := make(map[string]interface{})
m["name"] = "wang"
m["age"] = 25
buf, _ := xml.Marshal(MyMap(m))
fmt.Println(string(buf))
}
golang map转xml的更多相关文章
- 【GoLang】GoLang map 非线程安全 & 并发度写优化
Catena (时序存储引擎)中有一个函数的实现备受争议,它从 map 中根据指定的 name 获取一个 metricSource.每一次插入操作都会至少调用一次这个函数,现实场景中该函数调用更是频繁 ...
- Json、JavaBean、Map、XML之间的互转
思路是JavaBean.Map.XML都可以用工具类很简单的转换为Json,进而实现互相转换 1.Map.XML与Json互转 mvn依赖 <dependency> <groupId ...
- golang map输出排序
由于GoLang Map 内部存储是无序的,当需要按顺序获得map存储的key -value值时,应该对遍历出来的结果进行重新排序: 在go 1.8版本后,提供的slice sort 功能使排序更简单 ...
- xml转Map,对象,Map转xml,inputs tram 转xml 字符串的工具类方法
众所周知,大家在微信开发工程中,由于微信开发文档中,对于消息的接收发送都是基础xml数据的(太坑了),所以我们需要对XML进行解析转换: 1.我们先引入所需要的依赖 dom4j (解析xml的),xs ...
- Golang Map实现(一)
本文学习 Golang 的 Map 数据结构,以及map buckets 的数据组织结构. hash 表是什么 从大学的课本里面,我们学到:hash 表其实就是将key 通过hash算法映射到数组的某 ...
- Golang Map实现(四) map 的赋值和扩容
title: Golang Map 实现 (四) date: 2020-04-28 18:20:30 tags: golang map 操作,是map 实现中较复杂的逻辑.因为当赋值时,为了减少has ...
- golang map getkeys
golang 获取map的keys package main import "fmt" import "reflect" func main() { abc : ...
- map 转换 xml ; xml转map
public class MessageKit { public static String map2xml(Map<String, String> map) throws IOExcep ...
- golang map
Our friend Monk has been made teacher for the day today by his school professors . He is going to te ...
- golang map 读写锁与深度拷贝的坑
0X01 golang中,map(字典)无法并发读写 简单来说,新建万条线程对同一个map又读又写,会报错. 为此,最好加锁,其实性能影响并不明显. type taskCache struct{ sy ...
随机推荐
- Java实现两种队列(数组和链表)
package algorithm; /** @author Administrator @date 2022-09-13 17:50 */ public class QueueLinked{ pri ...
- #LCT,树状数组#CF1137F Matches Are Not a Child's Play
题目 分析 考虑从删除序列末尾来看,最大值一定在末尾, 然后与次大值之间夹了整条路径的点,降序以此类推 实际上从小到大是每个点到最大点的路径被打通的过程,由此分成若干条实链. 删除序列的位置实际上是到 ...
- #轮廓线dp,模型转换#洛谷 3226 [HNOI2012]集合选数
题目 问有多少个集合 \(S\) 是 \([1,n]\) 的子集, 并且 \(\forall a,b\in S,a|b\),满足 \(\frac{b}{a}\neq \{2,3\}\) 分析 可以发现 ...
- Jetty的http3模块
启用http3模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=http3 命令的输出,如下: ALERT: There are ena ...
- OpenHarmony社区运营报告(2023年2月)
本月快讯 • 2023年2月25日,以"技术构筑万物智联"为主题的第一届开放原子开源基金会OpenAtom OpenHarmony(以下简称"OpenHarmony& ...
- 共筑使能千行百业的数字底座 | HDC 2022松湖对话顺利召开
11月5日,华为开发者大会2022松湖对话在东莞松山湖凯悦酒店召开,开放原子开源基金会秘书长冯冠霖.华为终端BG软件部总裁龚体.深圳国家金融科技测评中心董事长钟剑.鸿湖万联(江苏)科技发展有限公司董 ...
- 学会在 C++ 中使用变量:从定义到实践
C++ 变量 变量是用于存储数据值的容器. 在 C++ 中,有不同类型的变量(使用不同的关键字定义),例如: int - 存储整数(没有小数点),例如 123 或 -123 double - 存储浮点 ...
- C 多维数组、特殊字符和字符串函数详解
C 多维数组 数组,也称为单维数组.这些非常棒,是您在 C 语言编程中会经常使用的东西.然而,如果您想要将数据存储为表格形式,例如带有行和列的表格,则需要熟悉多维数组. 二维数组 二维数组也称为矩阵, ...
- Native Rawfile开发指导
场景介绍 开发者可以通过本指导了解在HarmonyOS应用中,如何使用Native Rawfile接口操作Rawfile目录和文件.功能包括遍历.打开.搜索.读取和关闭Rawfile. 接口说明 ...
- Matplotlib Installing an official release from resources 源码安装Matplotlib官方版本
Installation Installing an official release Matplotlib releases are available as wheel packages for ...