Java、XML与数据库编程实践(二)

原创 2004年06月15日 10:43:00

文件DbXmlParser.java封装了对xml文件的操作。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

import javax.xml.parsers.*;

import org.w3c.dom.*;

import org.xml.sax.*;

import java.io.*;

 

public class DbXmlParser

{

   

    static  String  xmlfile;

    public DbXmlParser(String filename)

    {

        xmlfile=filename;

    }

   

    public static Element loadDocument()

    {

        try

        {

            //工厂

            DocumentBuilderFactory dcfactory=DocumentBuilderFactory.newInstance();

            //文档构造器

            DocumentBuilder db=dcfactory.newDocumentBuilder();

            //构造的文档

            Document doc=db.parse(xmlfile);

            //根元素

            Element root=doc.getDocumentElement();

            return root;

            }catch( ParserConfigurationException e){

            System.out.println("ParserConfigurationException");

            e.printStackTrace();

        }catch(IOException e)      {

            System.out.println("IOException ");

            e.printStackTrace();

        }catch(SAXException e)     {

            System.out.println("SAXException ");

            e.printStackTrace();

        }catch(Exception e) {

            e.printStackTrace();

        }

        return null;

    }

   

    public ConnPara getSource()

    {

        Element root=loadDocument();

        if( root==null) {  return null;   }

        NodeList nodes=root.getElementsByTagName("source");

        if(nodes.getLength()>0)

        {      

            Node node=nodes.item(0);

            String connclass=getChildElementValue(node,"class");

            String url=getChildElementValue(node,"url");

            String username=getChildElementValue(node,"user");

            String password=getChildElementValue(node,"password");

            return new ConnPara(connclass,url,username,password);

        }

        return null;      

    }  

   

    public  ConnPara getDest()

    {

        Element root=loadDocument();

        if( root==null) return null;

        NodeList nodes=root.getElementsByTagName("dest");

        if(nodes.getLength()>0)

        {      

            Node node=nodes.item(0);

            String connclass=getChildElementValue(node,"class");

            String url=getChildElementValue(node,"url");

            String username=getChildElementValue(node,"user");

            String password=getChildElementValue(node,"password");

            return new ConnPara(connclass,url,username,password);

        }

        return null;      

    }

       

    //得到子元素的值

    private  String getChildElementValue(Node node,String subTagName)

    {

            String returnString = "";

            if(node != null)

            {

                NodeList children = node.getChildNodes();

                for(int innerLoop = 0; innerLoop < children.getLength(); innerLoop++)

                {

                    Node child = children.item(innerLoop);

                    if(child == null || child.getNodeName() == null || !child.getNodeName().equals(subTagName))

                        continue;

                    Node grandChild = child.getFirstChild(); 

                    if(grandChild.getNodeValue() != null)

                        return grandChild.getNodeValue();

                }

            }

            return returnString;      

    }  

}

 

Java、XML与数据库编程实践

在开始学习XML和数据库编程时,大家都对一大堆的文档和资料,无从入手。作者在工作中,正好要用到了这些,就手头的一个程序进行整理。其功能很简单,得用java语言,从access数据库中,把一些数据导入到...
  • goldbox
  • goldbox
  • 2007年01月29日 16:25
  • 425

《JAVA并发编程实践》读书笔记(一)

《JAVA并发编程实践》读书笔记(一)2016年8月1日,“妮妲”冲击广东,全市放假1天。托“妮妲”的福,终于有空将近期的阅读整理一下。 最近利用业余时间重读了Brian Goetz的书,觉得受益匪...
  • youngweiquan
  • youngweiquan
  • 2016年08月02日 01:04
  • 712

C# Redis实战(二)

二、Redis服务  在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图:             ...
  • qiujialongjjj
  • qiujialongjjj
  • 2013年11月27日 10:26
  • 22031

Java、XML与数据库编程实践(一)

Java、XML与数据库编程实践(一) 作者:sirix   Email:nevinguo@163.com 在开始学习XML和数据库编程时,大家都对一大堆的文档和资料,无从入手。作者在工作中,正好要用...
  • sirix
  • sirix
  • 2004年06月15日 10:45
  • 851

Java、XML与数据库编程实践(三)

文件DbInput.java则是真正的数据拷贝部分: import java.sql.*; public class DbInput{        Connection src=null;    C...
  • sirix
  • sirix
  • 2004年06月15日 10:42
  • 764

Java、XML与数据库编程实践(四)

protected boolean alreadyin(String tname,String colname, String value)    {               int result...
  • sirix
  • sirix
  • 2004年06月15日 10:42
  • 776

java多线程与并发之java并发编程实践(一)

java并发编程实践基础(一) ---------- 1.继承Thread创建线程 继承java.lang.Thread类创建线程是最简单的一种方法,也最直接。下面创建一个MyThread1类,...
  • fhd001
  • fhd001
  • 2011年09月14日 18:12
  • 6629

《机器学习算法原理与编程实践》笔记

《机器学习算法原理与编程实践》笔记
  • qq_34400232
  • qq_34400232
  • 2017年09月13日 17:44
  • 387

机器学习 算法原理与编程实践 第一章 机器学习的基础

开篇引言:"基础决定高度,而不是高度决定基础!" 书中主要从 编码程序,数据结构,数学理论,数据处理和可视化等几个方面阐述机器学习的理论,然后扩展到概率论,数值分析,矩阵分析等知识引导我们进入机器学习...
  • u012017783
  • u012017783
  • 2016年11月27日 12:54
  • 387

XML与数据库

pre{border:1px solid silver;padding:0.5em;}XML与数据库copyright 1999-2005 by Ronald Bourret 原作最后更新: 2005...
  • onestab
  • onestab
  • 2006年11月20日 04:14
  • 28363
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java、XML与数据库编程实践(二)
举报原因:
原因补充:

(最多只允许输入30个字)