我是靠谱客的博主 感性汽车,最近开发中收集的这篇文章主要介绍basex - XML数据库 浅谈,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

BaseX 是一个开源的XML数据库,用来存储紧缩的XML数据,提供了高效的 XPath 和 XQuery 的实现,还包括一个前端操作界面。用java编写!

本人做了简单的汉化后的版本截图

 

先介绍下关于BaseX的一些资源:

BaseX官方地址:http://basex.org/

BaseX安装包下载地址:http://basex.org/products/download/

BaseX源码包下载地址:http://ftp.de.debian.org/debian/pool/main/b/basex/basex_7.3.orig.tar.gz

       (注:这个源码包不在官网上下载而是连接到一个叫“Debian” 源码资源站,一个很不错的源码资源站,可以很好的导入到Eclipse里。地址:http://packages.debian.org/squeeze/。但是这个源码包下载链接地址可以在官网找到:http://basex.org/products/download/页面里选“Debian GNU”-->http://packages.debian.org/sid/basex在此页面选页面右面的“源码下载包”)

BaseX应用实例下载地址:http://docs.basex.org/wiki/Main_Page 选“Developer Section”-->“java Exaples”-->" basex-examples "-->" Downloads " --> " Download as zip "即可下载

 

功能介绍:

basex  ..........  Standalone local XML database. Command line interface.
basexgui  .......  Standalone local XML database. Graphical user interface.
basexserver  ....  BaseX XML Database Server.
basexclient  ....  BaseX XML Database Client.

 

多看下“BaseX应用实例”能对BaseX使用有所帮助,里面告诉你怎么连接,使用BaseX(注意:在运行BaseX应用实例时要将basexserver服务开开。)

摘取其中一段链接,查询的代码:

try {
      // create session
      final BaseXClient session = new BaseXClient("localhost", 1984, "admin", "admin");

      try {
        // define input stream
        final InputStream bais =
          new ByteArrayInputStream("<xml>Hello World!</xml>".getBytes());

        // create new database
        session.create("database", bais);
        System.out.println(session.info());

        // run query on database
        System.out.println(session.execute("xquery doc('database')"));

        // drop database
        session.execute("drop db database");

      } catch(final IOException ex) {
        // print exception
        ex.printStackTrace();
      }

      // close session
      session.close();

    } catch(final IOException ex) {
      // print exception
      ex.printStackTrace();
    }

 

—————————————————————————————————————————————————————————————————————————————

下面是我在项目里的需求,跟BaseX理解与使用没有关系,职位学习BaseX可以绕道。

由于项目的需求需要将BaseXGUI嵌到浏览器里,我用了applet技术

 

修改org.basex.gui类:

1,setVisible(true);将此句话注释掉才能在浏览器里显示,这个话的意思是显示到GUI里

2,//增加此代码

  public BaseXBack getTop() {
    return top;
  }

 

创建applet类:

public class BaseXApplet extends JApplet{
 
  /** Database context. */
  final Context context = new Context();
  /** Files, specified as arguments. */
  final StringList files = new StringList();
  /** Mac OS X GUI optimizations. */
  GUIMacOSX osxGUI;

  @Override
  public void init() {
    // TODO Auto-generated method stub
    super.init();
    //JLabel label = new JLabel("hello",SwingConstants.CENTER);
   
 // read properties
    final GUIProp gprop = new GUIProp();
    // cache results to pass them on to all visualizations
    context.prop.set(Prop.CACHEQUERY, true);
    // reduce number of results to save memory
    context.prop.set(Prop.MAXHITS, gprop.num(GUIProp.MAXHITS));
    // initialize fonts and colors
    GUIConstants.init(gprop);
   
    final GUI gui = new GUI(context, gprop);
    add(gui.getTop());
  }
 
}

 

 

最后

以上就是感性汽车为你收集整理的basex - XML数据库 浅谈的全部内容,希望文章能够帮你解决basex - XML数据库 浅谈所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部