我想解組一個(gè)看起來像的 RDF 文檔:<?xml version="1.0" encoding="WINDOWS-1252"?><rdf:RDF xmlns:owl = "http://www.w3.org/2002/07/owl#" xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" <!-- other xml element --></rdf:RDF>我正在使用這種類型來解壓:type wsdlDoc struct { XMLName xml.Name `xml:"rdf:RDF"` Name string `xml:"grounding:hasAtomicProcessGrounding"`}執(zhí)行此操作的代碼片段:// you should import "github.com/rogpeppe/go-charset/charset"// and _ "github.com/rogpeppe/go-charset/data"dec := xml.NewDecoder(file)dec.CharsetReader = charset.NewReadervar v wsdlDocerr = dec.Decode(&v)if err != nil { panic(err)}當(dāng)我運(yùn)行代碼時(shí),恐慌會(huì)打印此錯(cuò)誤:panic: expected element type <rdf:RDF> but have <RDF>如何處理這種解組的情況?
1 回答

子衿沉夜
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
命名空間由它們的 URL 表示,并用空格與名稱分開,所以你的結(jié)構(gòu)應(yīng)該更像
type wsdlDoc struct {
XMLName xml.Name `xml:"http://www.w3.org/1999/02/22-rdf-syntax-ns# RDF"`
// ...
}
游樂場示例:http : //play.golang.org/p/tYVm2h6cIm。
- 1 回答
- 0 關(guān)注
- 179 瀏覽
添加回答
舉報(bào)
0/150
提交
取消