public boolean parse(byte[] buf) {
        boolean bret = false;
        if (buf != null) {
            KXmlParser parser = new KXmlParser();
            ByteArrayInputStream bin = null;
            Document dom = null;
            try {
                bin = new ByteArrayInputStream(buf);
                parser.setInput(bin, null);
                dom = new Document();
                dom.parse(parser);
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                StreamUtil.close(bin);
            }

            if (dom != null) {

                Object node = XPathUtil.query(dom, "/container/rootfiles/rootfile");
                if (node != null && node instanceof Element) {
                    Element en = (Element) node;
                    String fullpath = en.getAttributeValue(null, "full-path");
                    String mediatype = en.getAttributeValue(null, "media-type");
                    if (mediatype != null && mediatype.equals("application/oebps-package+xml")) {
                        packageFile = new OPF();
                        packageFile.setEntryName(fullpath);
                    }
                    bret = true;
                }
            }
        }
        return bret;
    }