【发布时间】:2019-05-31 13:34:08
【问题描述】:
我需要解析一个定义明确的 XML 文件。 我定义了结构并使用了
err = xml.Unmarshal(byteValue, &mystruct)
效果很好。但我需要检测未知的标签和属性。
当我看到一个未知标签时,我想将完整标签“按原样”报告给用户。未知属性也一样。
我如何在 Go 中做到这一点?
【问题讨论】:
-
std lib 的
encoding/xml包不支持您所追求的。您需要寻找 3rd 方包或自己实施。使用标准库最多可以使用,any标签选项收集未知元素/属性,但是,您将不得不污染可能出现未知数的所有结构。例如。 play.golang.com/p/RdB9Ub8fv__Q -
看来我需要一些定制的东西。如果我添加一个属性,您的解决方案将不起作用: var data = []byte(`
abc def ghi jkl mno elem2> 对于未知元素,我只需要完整的报告。不需要处理。对于已知元素中的未知属性,我需要报告它们。
标签: xml go xml-parsing