我是使用golang使用epubs,我必须从cover.xhtml文件(或任何在.opf文件中提到的文件)获取封面图片。encoding/xml对动态结构元素解组
我的问题是在Cover.xhtml文件的元素的动态结构。
每个ePub文件时对文件Cover.xhtml结构不同。例如,
<body>
<figure id="cover-image">
<img src="covers/9781449328030_lrg.jpg" alt="First Edition" />
</figure>
</body>
另一个EPUB cover.xhtml文件
<body>
<div>
<img src="@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]" alt="Cover" />
</div>
</body>
我需要从这个文件取img标签的src属性。但我做不到。
下面是与解编cover.xhtml文件
type CPSRCS struct {
Src string `xml:"src,attr"`
}
type CPIMGS struct {
Image CPSRCS `xml:"img"`
}
XMLContent, err = ioutil.ReadFile("./uploads/moby-dick/OPS/cover.xhtml")
CheckError(err)
coverFile := CPIMGS{}
err = xml.Unmarshal(XMLContent, &coverFile)
CheckError(err)
fmt.Println(coverFile)
涉及我的部分代码
输出是:
{{}}
我期待的输出是:
{{covers/9781449328030_lrg.jpg}}
在此先感谢!
有两个问题:第一:为什么你认为把'body>> figure> img'解组成一个单一的CPRS应该可以工作?身体和身材应该去哪里?这不是xml解组的工作原理。第二:您需要一些编程来区分不同的格式,然后以不同的方式对它们进行解组。 – Volker
对不起,我是新来的golang ..有没有办法解析通过字符串处理图像链接? – rnk
如果你可以解组(不管你的结构是否太简单),为什么你会乱搞? – Volker