我正在尝试使用 Go 编程语言解析 EPUB 元数据,我当前解析的 XML 非常简单:
<?xml version="1.0" encoding="UTF-8"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/>
</rootfiles>
</container>
我想要属性full-path
和media-type
Go 代码是:
package main
import (
"fmt"
"encoding/xml"
)
type RootFile struct {
FullPath string `xml:"full-path,attr"`
MediaType string `xml:"media-type,attr"`
}
func main() {
xmlData := `
<?xml version="1.0" encoding="UTF-8"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/>
</rootfiles>
</container>
`
var rootFile RootFile
xml.Unmarshal([]byte(xmlData), &rootFile)
fmt.Println(rootFile)
}
但我得到的是空的结果:
{ }
我的代码有什么问题?