⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parsexml.java

📁 hibernate+spring的相片上传项目
💻 JAVA
字号:
package org.lenovoAC.ParseXMLFile;

import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.net.URL;
import java.io.File;
import java.net.HttpURLConnection;
import java.io.InputStream;
import java.io.FileNotFoundException;
import java.net.MalformedURLException;

public class ParseXML
{
//定义一个Properties 用来存放 dbhost dbuser dbpassword的值
  private Properties props;
//这里的props
  public Properties getProps()
  {
    return this.props;
  }

  /**
   * @param filename String  文件名(包括文件路径)
   * @throws Exception
   */
  public void parseByFile(String filename) throws Exception
  {

//将我们的解析器对象化
    ConfigParser handler = new ConfigParser();
//获取SAX工厂对象
    SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setNamespaceAware(false);
    factory.setValidating(false);
//获取SAX解析
    SAXParser parser = factory.newSAXParser();
//得到配置文件myenv.xml所在目录. tomcat中是在WEB-INF/classes
//下例中BeansConstants是用来存放xml文件中配置信息的类,可以自己代替或定义
    // URL confURL = BeansConstants.class.getClassLoader().getResource(filename);
    try
    {
      File file = new File(filename);
//将解析器和解析对象myenv.xml联系起来,开始解析
      parser.parse(file, handler);
//获取解析成功后的属性 以后 我们其他应用程序只要调用本程序的props就可以提取出属性名称和值了
      props = handler.getProps();
    }
    catch (FileNotFoundException e)
    {
      System.out.println("解析xml文件失败!找不到文件:" + filename + ":" + e);
    }
    catch (Exception e)
    {
      System.out.println("解析xml文件失败!xml格式错误!");
      e.printStackTrace();
    }
    finally
    {
      factory = null;
      parser = null;
      handler = null;
    }
  }

  /**
   * 通过得到的http地址输入流来解析xml文件
   * @param filename String
   * @throws Exception
   */
  public void parseByURL(String httpURL) throws Exception
  {
//将我们的解析器对象化
    ConfigParser handler = new ConfigParser();
//获取SAX工厂对象
    SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setNamespaceAware(false);
    factory.setValidating(false);
//获取SAX解析
    SAXParser parser = factory.newSAXParser();
//得到配置文件myenv.xml所在目录. tomcat中是在WEB-INF/classes
//下例中BeansConstants是用来存放xml文件中配置信息的类,可以自己代替或定义
    // URL confURL = BeansConstants.class.getClassLoader().getResource(filename);
    //File file=new File(filename);
    try
    {
      URL url = new URL(httpURL);
      HttpURLConnection connection = (HttpURLConnection) url.openConnection();
      InputStream fis = connection.getInputStream();


//将解析器和解析对象myenv.xml联系起来,开始解析
      // parser.parse(file, handler);
      parser.parse(fis, handler);
//获取解析成功后的属性 以后 我们其他应用程序只要调用本程序的props就可以提取出属性名称和值了
      props = handler.getProps();
    }
    catch (MalformedURLException e)
    {
      System.out.println("解析网络资源xml文件失败!请求的地址不存在:" + e);
      e.printStackTrace();
      throw e;
    }
    catch (Exception e)
    {
      System.out.println("解析网络资源xml文件失败!" + e);
      e.printStackTrace();
      throw e;
    }
    finally
    {
      factory = null;
      parser = null;
      handler = null;
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -