<强> java值文档解析xml详细介绍强>
使用jar包:jdom.jar
配置文件格式global.xml
<强>一、获取输入的值组成的结点强>
我们将每个结点使用”。“拼接起来,如结点我,拼接为,注意不包含根。解析每个结点的名字。
/* * *获取对应结点的名字 * @param名字不包含根结点的拼接,即:abc.def.i * @return */私人String [] parsePropertyName(字符串名称){//结点序号从0开始 int大?name.split (“\ \”。) . length; String[]及parm=name.split (“\ \”。); 返回改; }
<强>二,获取对应结点的值强>
2.1,结点为& lt;名字valueName=皏alue123祝辞的形式
/* * * abc.def.i结点下有个结点为: * & lt;名字valueName=皏alue123”比; *获取对应结点的value
* @param名字结点的值(名字,是不包含根结点,使用”。“拼接的,即:abc.def.i) * @param defaultName没有获取到该节点内容,返回默认值 * @return */公共getPropertyValue同步字符串(字符串名称,字符串valueName) {//获取根结点对象 元素元素=doc.getRootElement ();//获取各级结点对应的属性 String[]及parm=parsePropertyName(名称); (字符串及parm:改){ 元素=element.getChild(改); }//得到无儿子结点的元素的属性值 返回element.getAttributeValue (valueName); }
2.2。结点为& lt; i> 8 & lt;/i>的形式
首先从缓存中获取改改结点的值,如果没有,在从配置文件中读取,
/* * *获取结点的值 *,lt;打折期gt; 8, lt;打折期/gt; * @param名字叶子结点的值(名字,是不包含根结点,使用”。“拼接的,即:abc.def.i) * @return */公共getProperty同步字符串(字符串名称){//先从缓存中获取 字符串值=https://www.yisu.com/zixun/cacheMap.get(名称); 如果(价值!=null) { 返回值; } 元素元素=getElementByName(名称); 如果(元素==null) { 返回null; }//获取价值 值=element.getText ();//缓存 cacheMap。把(名称,值); 返回值; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!