岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> XML >> XMLBeans >> Java正文
Java、XML与数据库编程实践 (二)
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-22 23:16:19

  文件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 grandChi

[1] [2] 下一页


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    传世私服 传奇世界私服 天龙八部私服 bet365 传世私服 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365