XML文件解析

private MailUtility() {
 
  mailXml = XmlResource.getInstance("mail_ja.xml");
 
  final Document doc = mailXml.getDocument();
  
  final Element mailDefaultPropertiesElement
      = (Element)doc.getElementsByTagName("mail-default-properties").item(0);
  
  final NodeList mailDefaultProperties
      = mailDefaultPropertiesElement.getElementsByTagName("property");
      
  properties = new Properties();
  for(int i = 0; i < mailDefaultProperties.getLength(); i++){
   final Element propertyElement = (Element)mailDefaultProperties.item(i);
   properties.setProperty(propertyElement.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()
        , propertyElement.getElementsByTagName("value").item(0).getFirstChild().getNodeValue());
  }
 
  isDebug = Boolean.valueOf(
     mailDefaultPropertiesElement.getElementsByTagName("default-debug-mode").
             item(0).getFirstChild().getNodeValue()).
             booleanValue();
 
  defaultSubject = mailDefaultPropertiesElement.getElementsByTagName("default-subject").
              item(0).getFirstChild().getNodeValue();
 
  defaultCharset = mailDefaultPropertiesElement.getElementsByTagName("default-charset").
              item(0).getFirstChild().getNodeValue();
 
  userName = getProperties().getProperty(MAIL_USER);
 
  password = mailDefaultPropertiesElement.getElementsByTagName("default-password").
              item(0).getFirstChild().getNodeValue();

 } 

 

/**
  * 指定されたリソース名のXMLファイルでこのクラスのオブジェクトを生成し、取得する。
  * @param name XMLファイルのリソース名
  * @return 生成されたXmlResource
  */
 public static XmlResource getInstance(String name){
 
  final URL resourceUrl = ClassLoader.getSystemResource(name);
 
  if(resourceUrl == null) throw new MissingResourceException("Resource /"" + name + "/" is not found." , name, "");
 
  final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
  documentBuilderFactory.setValidating(true);
  documentBuilderFactory.setNamespaceAware(true);
 
  try{
  
   final DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
  
   return new XmlResource(documentBuilder.parse(resourceUrl.toExternalForm()));
  
  }catch(ParserConfigurationException e){
   throw new RuntimeException(e.toString());
  }catch(IOException e){
   throw new RuntimeException(e.toString());
  }catch(SAXException e){
   throw new RuntimeException(e.toString());
  }
 
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值