登录
首页 >  Golang >  Go问答

将两个 XML 字符串合并为一个 XML 字符串的方法在 GOLANG 中如何实现

来源:stackoverflow

时间:2024-03-13 14:27:33 225浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《将两个 XML 字符串合并为一个 XML 字符串的方法在 GOLANG 中如何实现》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我想将 2 个 xml 文件合并为 1 个新文件。 第一个 xml 是 schemadtd,第二个 xml 是带有值的标准 xml 文件, 我想将它们合并到 1 个新文件中。

我的问题是每个 xml 都以“

所以我尝试将它们与此代码合并,但出现错误:

这是我的代码

var xml1 map[string]interface{}
var xml2 map[string]interface{}

err1 := xml.Unmarshal([]byte(DTDSchema), &xml1)
err2 := xml.Unmarshal([]byte(xmlContent), &xml2)

maps.Merge(xml2, xml1)

fileContent , err := xml.Marshal(&xml1)

- 这是错误:

err1:解组 eof 时出错,

err2:解组未知类型映射[string]接口{}时出错,

有什么想法吗?


正确答案


听起来您想要获取一个 XML 文件并为其指定 in-line/internal DTD

您可能会发现使用流式/类似 Sax 的解析器来完成您想做的事情会更容易。这使您可以在遇到不需要的内容(例如处理指令)时轻松丢弃它们。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《将两个 XML 字符串合并为一个 XML 字符串的方法在 GOLANG 中如何实现》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>