同事质检EPUB文档需要读取opf的内容,临时上网找了些XML相关代码研究。结果在获取某些节点一直无法正确实现,网上大部分条目也无法解决问题。
最后找到问题所在,如果使用非默认命名空间,需要添加相应的命名空间。
代码如下 | 复制代码 |
XmlDocument xml = new XmlDocument(); //opfUrl为opf文件路径 xml.Load(opfUrl); XmlNamespaceManager nsMgr = new XmlNamespaceManager(xml.NameTable); //http://www.idpf.org/2007/opf为该XML文档命名空间 nsMgr.AddNamespace("ns", "http://www.idpf.org/2007/opf"); //reference为节点名 XmlNodeList reference = xml.SelectNodes("//ns:reference", nsMgr); |
时间: 2024-09-17 20:22:55