我有大量 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")
- 2 回答
- 0 关注
- 233 浏览
添加回答
举报
0/150
提交
取消