提问人:AnthonyGP 提问时间:8/10/2023 最后编辑:kostixAnthonyGP 更新时间:8/10/2023 访问量:50
Golang xml/encoding RawToken() 中的错误?
Bug in Golang xml/encoding RawToken()?
问:
我有一个 Go 代码:
xmlData := `<foo xmlns:="url"/>`
xmlDec := xml.NewDecoder(bytes.NewReader([]byte(xmlData)))
rawToken, _ := xmlDec.RawToken()
fmt.Println(rawToken)
现在有趣的部分,让我们使用 Go 1.14.0
输出:{{ foo} [{{xmlns } url}]}
切换到 Go 1.18.0
输出:{{ foo} [{{ xmlns:} url}]}
在第一个输出中 = 和xml.Name.Space
"xmlns"
xml.Name.Local
= ""
在第二个输出中 = 和xml.Name.Space
""
xml.Name.Local
= "xmlns:"
谁能解释一下这是怎么回事?
答: 暂无答案
评论
<foo xmlns:="url"/>
不是正确的命名空间。不要使用 () 或定义命名空间的前缀 (:
<foo xmlns="url"/>
<foo xmlns:abc="url"/>
)xml.Name.Local
"xmlns:"