xml - 在 Golang 中的 XML 字符串中添加外部标签
问题描述
我想知道是否可以将外部标签添加到给定的 XML 字符串。例如,用
输入:
<My><XML><String>Something Here...</String></XML></My>
输出:
<OuterTag><My><XML><String>Something Here...</String></XML></My></OuterTag>
我试过 xml.Encoder.EncodeToken(), xml.Encoder.Encode() 但没有成功。
我问这个是因为我想将我的 XML 包装到一个 SOAP 信封中,因为 Golang 没有内置 SOAP 支持。
任何想法表示赞赏!
解决方案
我想出了一个方法,可能不是最好的,但它有效。只需使用 xml.Encoder.EncodeToken()
原始的xml是实现xml.Token接口的CharData。'OuterTag' 是 StartElement,它也实现了 xml.Token 接口。
encoder := xml.NewEncoder(buf)
outerTag := xml.StartElement {Name: xml.Name{Space:"", Local:"OuterTag"}}
encoder.EncodeToken(outerTag)
defer encoder.EncodeToken(outerTag.End())
encoder.EncodeToken(originalXmlBytes)
推荐阅读
- javascript - Javascript onclick没有调用函数
- r - 如何在r中找到不同日期的最小值
- r - 根据以 ocr'd 图像结尾的段落将字符串拆分为列
- android - Android - Webview 后台请求
- jenkins - 如何在电子邮件正文中获取詹金斯构建的控制台日志的内容?
- html - 如何在动态加载值(PrimeNG)时在下拉列表中设置特定选项的样式?
- c# - 如何在控制器中映射 DataTable 参数(MVC Core 2.2)?
- angular - 如何解决在 Ionic v3 中使用离子复选框的问题?
- xpath - 将预先格式化的文本导入 Google 表格
- postgresql - PostgreSQL 是否有缓冲的写表或插件可以做到这一点?