详解XML文档结构及生成与Dom4J解析其文件的Java类

首先来看一下我们的 XML 文档结构。文档结构由一对标签包含。其中一组包含两个标签。其中一个可看成 key。

详解XML文档结构及生成与Dom4J解析其文件的Java类

可以看成是value。这样的话就可以通过的值来拿到的值。



	
		00000
		成功
	
	
		00001
		处理失败
	
	
		00002
		用户原密码不正确!
	
	
		00003
		网络原因,推送失败!
	
	
		00004
		其他原因!
        

看完文档结构,以下是生成该XML文档的java类

包  中国  公司  中再  软件  司法  检验  实用工具
导入 java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
导入org.dom4j.DocumentHelper
import org.dom4j.Element;
导入 org.dom4j.io 包下的 XMLWriter 类
导入cn.com.sinosoft.sfjy.vo.ErrorVo;
公共类 测试写入XML演示类
公共静态无效主函数(字符串数组参数) {
		List ErrorVoList = new ArrayList();
		
ErrorVoList添加了一个新的ErrorVo。这个新的ErrorVo的编号是“1”。其错误码是“00000”。表示的状态是“成功”
ErrorVoList添加了一个新的ErrorVo。该ErrorVo的编号为“2”。其错误码是“00001”。错误信息为“处理失败”
第三个参数值为“用户原密码不正确!”
原因是网络问题导致推送失败
第三个参数值是“其他原因!”
创建一个文档对象。将其赋值给变量doc。使用DocumentHelper类的createDocument方法来创建文档。
元素根 = 文档添加元素(“列表”)
		
对于 ErrorVoList 中的每个 ErrorVo
			//根节点
元素idEle等于根添加元素“ErrorID”
			//ErrorVoID下的元素
元素代码Ele等于idEle添加一个名为“ErrorCode”的元素
codeEle添加文本。文本内容为ErrorVo获取的错误代码。
该元素名为ErrorMsg
msgEle添加文本。文本内容为ErrorVo获取的错误消息。
			//给ErrorVoID加值
idEle添加属性“id”。其值为ErrorVo获取的错误ID加上空字符串。
		}
		try {
创建一个XMLWriter对象并将其赋值给writer变量
			
该对象关联到TEST.xml文件
			
			writer.setOutputStream(fos);
			
			writer.write(doc);
			
			writer.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

接下来是用于解析 XML 文件的 Java 类。该类可通过获取的方式来实现相关功能。

package cn.com.sinosoft.sfjy.util;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
导入org.dom4j.io.SAXReader
公共类 测试解析器XML演示
公共的 字符串类型 方法 Test 接收一个 字符串类型 参数 errorcode 并返回一个 字符串类型 值
		try{
创建一个SAXReader对象 命名为reader
//			String path = 注意路徑的位置 
文档doc等于读取器reader读取一个新的文件(文件名为“TEST.xml”)得到的结果
			
元素根 = 文档获取根元素;
			List elements = root.elements();
			for(Element ele : elements){
				//解析
获取元素对象ele中的ErrorCode子元素并赋值给Element类型的变量Ele
获取代码元素的文本内容。将其赋值给字符串变量errorCode。
				
Element msgEle获取ele中的ErrorMsg元素
				
将其赋值给错误消息字符串。
				
如果错误代码等于错误码
					return errorMsg;
				}
			}
			
		}catch(Exception e){
			e.printStackTrace();
		}
		return "";
	}
	public static void main(String[] args) {
创建一个TestParserXMLDemo对象并命名为t1
将t1的Test方法用于"00000"并输出结果
	}
}

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读