起初我的应用程序将访问MySQL数据库,但一切都已更改,现在必须从XML文件中读取,它将仅从中读取。
基本思路是:
1. Admin App坚持使用MySQL。
2. Admin App生成MySQL xml转储(mysqldump工具)。
3.应用程序将xml发送到客户端。
4.客户端查询xml。
也许有更聪明的方法来构建这个,但是现在这不是重点。 有没有像XML这样的Hibernate - 关系到这一点,我怎么能实现这个呢?
答案 0 :(得分:0)
XML有多大?要大到加载到RAM?如果不是太大,请加载并使用XPath。我推荐JDOM。如果太大并且您不允许制作任何其他文件,请使用流式XPath解决方案(请参阅this SO post),但之后您遇到了相当大的问题。表现会很糟糕。如果您可以将其转换为另一个文件,您可能会找到适合您的嵌入式数据库(Derby,Hypersonic ......)。
答案 1 :(得分:0)
使用XStream创建我的xml(而不是使用MySQL转储),并反序列化它。工作就像一个魅力。
我遵循的步骤。
创建一个Bean作为我的根节点,这个bean保存所有其他bean的列表。
是否有xstream.toXML(myRootBean)并将其写入xml文件。
在另一端,读取文件并执行xstream.fromXML()将其转换为myRootBean。
然后只需访问列表,例如myRootBean.getPotatoList()
重要的是要注意,必须在toXML和fromXML之前为每个类设置别名。
xstream.alias(“potatos”,List.class);
xstream.alias(“potato”,Potato.class);