我有大量 xml 文件要解析,其中包含包裹在封闭标签中的未封闭标签。像下面这样:
<submission>
<first-name>Henry
<last-name>Donald
<id>4224
</submission>
我设置了decoder.Strict = false 但它仍然无法正确解析整个xml 文件。
type Submission struct {
FirstName string `xml:"first-name"`
LastName string `xml:"last-name"`
ID string `xml:"id"`
}
func main() {
dec := xml.NewDecoder(bytes.NewReader([]byte(sub)))
dec.Strict = false
dec.AutoClose = xml.HTMLAutoClose
dec.Entity = xml.HTMLEntity
var s Submission
err := dec.Decode(&s)
if err != nil {
fmt.Println(err)
}
fmt.Println(s)
}
游乐场:https : //play.golang.org/p/-_chEpDhzX
我知道有一个 html tokenizer 可以尝试使用,但我更喜欢使用 XML 包,因为大多数文件的格式都正确。
慕妹3146593
相关分类