为了账号安全,请及时绑定邮箱和手机立即绑定

在 Go 中解析格式错误的 xml 文件

在 Go 中解析格式错误的 xml 文件

Go
青春有我 2021-09-27 17:39:10
我有大量 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 包,因为大多数文件的格式都正确。
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

下面对我有用,如果您知道有问题的标签,这可能只是理想的。虽然,奇怪的是,如果我还添加名字就行不通了。


dec.AutoClose = append(dec.AutoClose, "last-name")

dec.AutoClose = append(dec.AutoClose, "id")


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 233 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信