博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于XML和Xpath的简易数据管理系统
阅读量:4971 次
发布时间:2019-06-12

本文共 1672 字,大约阅读时间需要 5 分钟。

一、目标

用xml和Xapth做一个简单的数据管理系统,对数据的进行简单的增、删、改、查询操作。如做一个简单的班级学生信息管理系统:

 

二、环境及开发工具

环境:Java

工具:Eclipse

开发包:如图

三、原理

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的,可以在SourceForge上找到它。

XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。

用Xpath定位到相应节点,用dom4j进行增、删、改。

 

四,类分析,如下图:

addframe:执行添加操作时显示的界面。

allfunction:对xml操作各功能的实现。

alterframe:执行修改操作时显示的界面。

deleteframe:执行删除操作时显示的界面。

mainframe:主界面

queryframe:执行查询操作时显示的界面。

 

五、主要实现如下:

import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.util.Iterator;import java.util.List;import org.dom4j.xpath.*;import javax.xml.parsers.ParserConfigurationException;import javax.xml.xpath.*;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import org.xml.sax.SAXException;/** * @author ncw * create the function */public class allfunction {         /*     * 获取全部信息     */         public String getall(){            String allinformation="";            try            {            SAXReader saxReader = new SAXReader();             //saxReader.setEncoding("UTF-8");            Document document = saxReader.read(new java.io.File("manage.xml"));            List academylist = document.selectNodes("/school/academy" );                    for(int i=0;i

 

alterframe   deleteframe  mainframe   queryframe等类则实现相应的界面显示。

 

相应xml结构如下:

六:总结:

   1 功能简单,操作不够灵活

2 在对数据的读入与存储上有待改进。

 

转载于:https://www.cnblogs.com/sl-shilong/archive/2013/03/03/2942112.html

你可能感兴趣的文章
deque
查看>>
c#中从string数组转换到int数组
查看>>
数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
toad for oracle中文显示乱码
查看>>
SQL中Group By的使用
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
hiho_offer收割18_题解报告_差第四题
查看>>
AngularJs表单验证
查看>>
静态方法是否属于线程安全
查看>>
02号团队-团队任务3:每日立会(2018-12-05)
查看>>
SQLite移植手记1
查看>>
js05-DOM对象二
查看>>
mariadb BINLOG_FORMAT = STATEMENT 异常
查看>>
C3P0 WARN: Establishing SSL connection without server's identity verification is not recommended
查看>>
iPhone在日本最牛,在中国输得最慘
查看>>
动态方法决议 和 消息转发
查看>>