代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
读取xml实现封装标签
作者:
freelife
/ 发布于
2013/1/3
/
602
private static final long serialVersionUID = 1L; private static String file = "d://dictionary.xml"; private Map<String, List<DictionaryBean>> xmlMap = null; private String table; private String field; private String initvalue; public TextTag() { init(); } /** * 数据以键值的方式存储 */ private void init() { List<DictionaryBean> list = readConfXml(); if (xmlMap == null) { xmlMap = new HashMap<String, List<DictionaryBean>>(); } else { xmlMap.clear(); } for (DictionaryBean dict : list) { String key = getMapKey(dict.tableName, dict.fieldName); List<DictionaryBean> dictList = xmlMap.get(key); if (dictList == null) { dictList = new ArrayList<DictionaryBean>(); xmlMap.put(key, dictList); } dictList.add(dict); } } /** * 标签 */ public int doStartTag() { JspWriter out = pageContext.getOut(); String results = getInitValue(table, field, initvalue); try { out.print(results); } catch (IOException e) { e.printStackTrace(); } return 0; } /** * 调用 * * @param table * @param field * @param initvalue * @return * @throws DocumentException */ public String getInitValue(String table, String field, String initvalue) { String key = getMapKey(table, field); List<DictionaryBean> list = xmlMap.get(key); for (DictionaryBean dict : list) { if (dict.fieldValue.equals(initvalue)) { return dict.valueMean; } } return null; } /** * 遍历xml符合相应的标签数据 * @return List<DictionaryBean>集合 * @throws DocumentException */ public static List<DictionaryBean> readConfXml() { List<DictionaryBean> list = new ArrayList<DictionaryBean>(); Document doc = null; try { doc = new SAXReader().read(new File(file)); } catch (DocumentException e) { e.printStackTrace(); } Element root = doc.getRootElement(); for (Iterator it1 = root.elementIterator(); it1.hasNext();) { Element tables = (Element) it1.next(); if (!tables.getName().equals("table")) continue; String tableName = tables.attribute("id").getValue(); for (Iterator it2 = tables.elementIterator(); it2.hasNext();) { Element fields = (Element) it2.next(); String fieldName = fields.attribute("id").getValue(); for (Iterator it3 = fields.elementIterator(); it3.hasNext();) { Element items = (Element) it3.next(); DictionaryBean dict = new DictionaryBean(); dict.tableName = tableName; dict.fieldName = fieldName; dict.fieldValue = items.attribute("key").getValue(); dict.valueMean = items.attribute("value").getValue(); list.add(dict); } } } return list; } /** * 制定key值 * @param tableName * @param fieldName * @return 组合的key值 */ public static String getMapKey(String tableName, String fieldName) { return (tableName == null ? "" : tableName + "-" + fieldName == null ? "" : fieldName); } public String getTable() { return table; } public void setTable(String table) { this.table = table; } public String getField() { return field; } public void setField(String field) { this.field = field; } public String getInitvalue() { return initvalue; } public void setInitvalue(String initvalue) { this.initvalue = initvalue; }
试试其它关键字
读取xml
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
freelife
贡献的其它代码
(
2
)
.
Java路径问题解决方案汇集
.
读取xml实现封装标签
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3