Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 项目中对xml中数据的解析
【标  题】:项目中对xml中数据的解析
【关键字】:xml
【来  源】:http://www.cublog.cn/u/19726/showart.php?id=150339

项目中对xml中数据的解析

Your Ad Here
xml文件:
    <?xml version="1.0" encoding="UTF-8"?>
<slc_config>
<current_connection>korea_test</current_connection>
<server name="korea_test">
 <address>10.156.125.2</address>
 <port>18700</port>
 <GLIDs>
  <GLID>006100000000</GLID>
  <GLID>006100001000</GLID>
 </GLIDs>
</server>
<server name="simulator">
 <address>127.0.0.1</address>
 <port>8001</port>
 <GLIDs>
  <GLID>006100000000</GLID>
  <GLID>006100001000</GLID>
  <GLID>006101001000</GLID>
  <GLID>006101001001</GLID>
 </GLIDs>
</server>
<server name="hk_test">
 <address>hkxd026</address>
 <port>18286</port>
 <GLIDs>
  <GLID>000800001000</GLID>
 </GLIDs>
</server>
</slc_config>
该文件放在src下面
 
解析的java类SLCConfig.java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class SLCConfig {
 
 /** Log use for debug and out print. */
 private static final Logger logger = Logger.getLogger(SLCConfig.class);
 /** Singtlon instance. */
 private static SLCConfig parser;
 /** Mapping file. */
 private static String mappingfile = "SLC_config.xml";
 
 /** Contain all of mapping rule in mapping file. */
 protected Hashtable<String,Element> messageMappingTable;
 
 
 /**
  * Initializes some fields <br>
  * it can be override.
  */
 protected void init() {
  messageMappingTable = new Hashtable<String,Element>();
  parse(ClassLoader.getSystemResourceAsStream(mappingfile));
 }
 /**
  * parse SLC_config.xml.
  * @param
  */
 public void parse(InputStream input) {
  SAXReader saxReader = new SAXReader();
  Document document = null;
  try {   
   document = saxReader.read(input);
   Element root = document.getRootElement();
   List messages = root.elements("server");
   Iterator iter = messages.listIterator();
   while (iter.hasNext()) {
    Element message = (Element) iter.next();
    System.out.println("server name = " + message.attribute("name").getValue()); 
    messageMappingTable.put(message.attribute("name").getValue(), message);
   }
   
  } catch (DocumentException e) {   
   logger.error("Cannot parse SLC_config.xml:" + e.getMessage());
  }
 }
 
 public void  parsePort(String requestPort){
  Element element = (Element) messageMappingTable.get(requestPort);  
  List fields = element.elements("port");
  Iterator iter = fields.iterator();
  while (iter.hasNext()) {
   Element message = (Element) iter.next();
   String port = message.getText();
   System.out.println(port);
  }
 }
 
 public void  parseAddress(String requestAddress){
  Element element = (Element) messageMappingTable.get(requestAddress);  
  List fields = element.elements("address");
  Iterator iter = fields.iterator();
  while (iter.hasNext()) {
   Element message = (Element) iter.next();
   String address = message.getText();
  }
 }
 
 public void  parseGlids(String requestGlids){
  Element element = (Element) messageMappingTable.get(requestGlids);  
  List fields = element.elements("GLIDs");
  Iterator iter = fields.iterator();
  while (iter.hasNext()) {
   Element message = (Element) iter.next();
   messageMappingTable.put(message.attribute("GLIDs").getValue(), message);
  }
 }
 
 public void  parseGlid(String requestGlid){
  Element element = (Element) messageMappingTable.get(requestGlid);  
  List fields = element.elements("GLID");
  Iterator iter = fields.iterator();
  while (iter.hasNext()) {
   Element message = (Element) iter.next();
   String glid = message.getText();
  }
 }
 
 public Hashtable getMessageMappingTable() {
  return messageMappingTable;
 }
 
}
tomcat虚拟主机配置总结:【上一篇】
Dom4j 使用简介:【下一篇】
【相关文章】
  • BizTalk Server中简单xml架构使用举例
  • 我看xml原理[1]
  • 我深入研究JAVA和XML的结合
  • XML主要具有以下几个特点
  • msxml3.dll 错误 '800c0005' 系统未找到指定的资源。
  • 找个将对象XML化的工具包
  • VBScript 使用 xmldom 检测/创建/读取/更改 XML 文件数据 实例 By shawl.qiu
  • javascript与xml交互
  • .net中XML的简单应用
  • 使用xmlgui搭建界面
  • 【随机文章】
  • JAVA程序员面试32问
  • 人生还长,一路走好!
  • webwork 文件下载方法1
  • 在Webwork中使用ww:action实现页面控制器风格Action复用
  • 你的程序支持 IIS6 - Web Garden 吗?
  • 中国人口问题 最多能养好8亿人口
  • PHP应用经典技巧二则
  • GCC 中文手册(下)[转载]
  • 如何让一个控制台程序运行时不出现控制台窗口?
  • 魔兽世界 部落与联盟在职业上的实力对比
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.