我想使用 golang 的 xml.MarshalIndent() 快速创建一个实用程序来格式化任何 XML 数据
然而这段代码
package main
import (
"encoding/xml"
"fmt"
)
func main() {
type node struct {
XMLName xml.Name
Attrs []xml.Attr `xml:",attr"`
Text string `xml:",chardata"`
Children []node `xml:",any"`
}
x := node{}
_ = xml.Unmarshal([]byte(doc), &x)
buf, _ := xml.MarshalIndent(x, "", " ") // prefix, indent
fmt.Println(string(buf))
}
const doc string = `<book>
<title>The old man and the sea</title>
<author>Hemingway</author>
</book>`
产品
<book>
 
 

<title>The old man and the sea</title>
<author>Hemingway</author>
</book>
请注意打开元素后的外来物质<book>。
我失去了我的属性 - 为什么?
我想避免收集虚假的元素间字符数据 - 怎么做?
慕的地8271018
相关分类