我正在使用Golang作为API网关,我们需要从文档中删除某些XML元素。
我们不能使用结构/编组,因为XML结构非常庞大且多变-但我们始终需要根据名称/路径删除一些XML元素
我尝试过“遍历”XML文档,并根据名称“跳过”某些元素。
我的例子在这里,但我得到错误:https://go.dev/play/p/LJtlYXWvJ_dpanic: xml: end tag </age> does not match start tag <person>
我一定是做错了什么,我能找到的大多数例子都是用结构来做的。
1条答案
按热度按时间kgsdhlau1#
如果你看一下这个输出:
它提供了一个很好的线索。然后看这里:
从输出中我们可以看到
skip && t.Name == parent.Name
将为true。我们将skip
切换为false
并重置parent
。然后我们继续检查if !skip
。我们只需将skip
设置为false,因此我们尝试对令牌进行编码。但我们应该跳过该令牌!The fix is simple:只需在case条件中添加一个
break
。给出(调试输出已删除):