【发布时间】:2014-05-28 23:52:52
【问题描述】:
我们有一个带有 XML 的遗留系统,其中 XML 不漂亮(即整个文件没有换行符)。
有没有一种内置/原生的方式来实现漂亮的 XML 打印?如果不是,如何实现这一目标?
【问题讨论】:
我们有一个带有 XML 的遗留系统,其中 XML 不漂亮(即整个文件没有换行符)。
有没有一种内置/原生的方式来实现漂亮的 XML 打印?如果不是,如何实现这一目标?
【问题讨论】:
您可以使用xml.MarshalIndent,例如:
package main
type xmldoc struct { ........ fields ...... }
func main() {
var doc xmlDoc
err := xml.Unmarshal([]byte(xml-data), &doc)
if err != nil {
fmt.Printf("error: %v", err)
return
}
out, err := xml.MarshalIndent(doc, "", "\t")
if err != nil {
fmt.Printf("error: %v", err)
return
}
fmt.Println(out)
}
或者从命令行你总是可以使用xmlint:
$ xmllint --format --recover file.xml > formatted.xml
或批量检查Format all XML files in a directory and save them in a subdirectory
【讨论】: