科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java、XML与数据库编程实践

Java、XML与数据库编程实践

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)


  文件DbXmlParser.java封装了对xml文件的操作。
  
  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;   
  
    } 
  
  }

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章