1
我試圖解碼下面的xml。對於一些原因,我不能解碼Id
在golang中解碼XML
package main
import (
"encoding/xml"
"fmt"
)
var data = `
<g xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ad="http://www.myschema.com/schema/ad/v1">
<a xlink:href="http://example.com" data-bind="121">lala</a>
<ad:ad id="1060469006">
</g>
`
type Anchor struct {
DataBind int `xml:"data-bind,attr"`
XlinkHref string `xml:"http://www.w3.org/1999/xlink href,attr"`
Id int `xml:"http://www.myschema.com/schema/ad/v1 id,attr"`
}
type Group struct {
A Anchor `xml:"a"`
}
func main() {
group := Group{}
_ = xml.Unmarshal([]byte(data), &group)
fmt.Printf("%#v\n", group.A)
}
第2項:這不是我對規範的理解:http://www.w3.org/TR/REC-xml-names/#defaulting - 「...前綴的屬性的解釋由元素決定他們看起來......「。所以這對我來說似乎有點模糊。 – topskip
剛纔你引用的部分是「默認名稱空間聲明不直接應用於屬性名稱」。就通用XML處理工具而言,這些屬性被認爲不屬於任何名稱空間(即空白名稱空間)。 –