java 值Document解析xml详细介绍
程序员文章站
2024-02-23 15:18:16
java 值document解析xml详细介绍
使用jar包:jdom.jar
配置文件格式 global.xml
一、获取输入的值组成的结点
我们将每个结点使...
java 值document解析xml详细介绍
使用jar包:jdom.jar
配置文件格式 global.xml
一、获取输入的值组成的结点
我们将每个结点使用“.” 拼接起来, 如结点i ,拼接为abc.def.i, 注意不包含root。解析每个结点的名字。
/** * 获取对应结点的名字 * @param name 不包含root结点的拼接,ie: abc.def.i * @return */ private string[] parsepropertyname(string name) { //结点序号从0开始 int size = name.split("\\.").length; string[] parms =name.split("\\."); return parms; }
二、获取对应结点的值
2.1、结点为<name valuename=”value123”>的形式
/** * abc.def.i结点下有个结点为: * <name valuename="value123"> * 获取对应结点的value<br> * @param name 结点的值(name,是不包含root结点, 使用"."拼接的, ie: abc.def.i) * @param defaultname 没有获取到该节点内容, 返回默认值 * @return */ public synchronized string getpropertyvalue(string name, string valuename) { //获取根结点对象 element element = doc.getrootelement(); //获取各级结点对应的属性 string[] parms = parsepropertyname(name); for (string parm : parms) { element = element.getchild(parm); } //得到无儿子结点的element的属性值 return element.getattributevalue(valuename); }
2.2. 结点为 <i>8</i>的形式
首先从缓存中获取改改结点的值, 如果没有,在从配置文件中读取,
/** * 获取结点的值 * <i>8</i> * @param name 叶子结点的值(name,是不包含root结点, 使用"."拼接的, ie: abc.def.i) * @return */ public synchronized string getproperty(string name) { //先从缓存中获取 string value = cachemap.get(name); if (value != null) { return value; } element element = getelementbyname(name); if (element == null) { return null; } //获取value value = element.gettext(); //缓存 cachemap.put(name, value); return value; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
推荐阅读
-
java 值Document解析xml详细介绍
-
java解析xml文件的四种方法详细讲解
-
Java基础之XML介绍与SAX解析、DOM解析XML、JDOM解析、DOM4J解析、XMLEncoder与XMLDecoder的使用以及xstream工具的使用 189~195
-
Java之XML解析的两种方法介绍
-
Java 对象序列化 NIO NIO2详细介绍及解析
-
详细介绍java中四种操作xml方式的比较代码实例
-
详细介绍Android 解析XML文件和生成XML文件的示例代码
-
Java 对象序列化 NIO NIO2详细介绍及解析
-
详细介绍XML解析(图文)
-
详细介绍java中fastjson生成和解析json数据(序列化和反序列化数据)