`

jdom读写XMl文件

    博客分类:
  • JAVA
 
阅读更多

昨天写的一个使用jdom读写xml文件的一个例子:

 

/** 生成返回结果XMl*/
	public boolean writeXML(String guid, String path) {
		boolean temp = false;
		List<SynchronousJournal> listSuccess = synchronousJournalManager
				.quereySynchronousJournal(guid);
		List<SynchronousJournal> listError = synchronousJournalManager
				.quereySynchronousJournalErroe(guid);

		File file = new File(path);// 创建一个xml文件

		try {

			Element root = new Element("RESULTLIST");// 创建根元素
			for (SynchronousJournal synchronousJournal : listSuccess) {

				Element result = new Element("RESULT");// 创建子元素
				root.addContent(result);// 添加子元素到根节点

				Element type = new Element("TYPE");// 创建叶子节点
				result.addContent(type);// 添加叶子节点到父节点
				
                Element businessType = new Element("BUSINESSTYPE");// 创建叶子节点
                businessType.addContent(businessType);// 添加叶子节点到父节点
				type.setText(synchronousJournal.getBusinesstype());// 给叶子节点赋值
				/** 成功信息 */
				Element success = new Element("SUCCESS");// 创建叶子节点
				success.setText(synchronousJournal.getCount().toString());// 给叶子节点赋值
				type.addContent(success);// 添加叶子节点到父节点
				int a = 0;
				for (SynchronousJournal synchronousJournal2 : listError) {
					if (synchronousJournal.getBusinesstype().equals(
							synchronousJournal2.getBusinesstype()))
						a++;
				}
				Element error = new Element("ERROR");
				type.addContent(error);

				Element errorcount = new Element("ERRORCOUNT");
				error.setText(String.valueOf(a));// 给叶子节点赋值
				error.addContent(errorcount);

				for (SynchronousJournal synchronousJournal2 : listError) {
					/** 失败信息 */
					if (synchronousJournal.getBusinesstype().equals(
							synchronousJournal2.getBusinesstype())) {
						Element errorguid = new Element("ERRORGUID");
						error.setText(synchronousJournal2.getInfoGuid());// 给叶子节点赋值
						error.addContent(errorguid);
					}
				}
			}
			Document doc = new Document();// 创建文本对象
			doc.addContent(root);// 添加树倒文本中
			Format format = Format.getCompactFormat();
			format.setIndent("     ");
			XMLOutputter out = new XMLOutputter(format);// 创建输出流
			FileWriter fw = new FileWriter(file);// 写数据
			out.output(doc, fw);// 输出到xml文件中
			fw.close();// 关闭写入流
			temp = true;
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
		}
		return temp;
	}

	/** 读取返回结果xml*/
	public static boolean readXml(String path) {
		boolean temp = false;
		SAXBuilder sb = new SAXBuilder();// 构建一个JDOM文档输入流
		try {
			Document doc = sb.build(path);// 加载xml
			Element root = doc.getRootElement();// 获得xml文件的内容
			List list = root.getChildren();// 把xml文件内容转化成数组形式
			for (int i = 0; i < list.size(); i++) {
				Element result = (Element) list.get(i);// 获得数组中的一个对象
				List typelist = result.getChildren("TYPE");
				for (int j = 0; j < typelist.size(); j++) {
					Element type = (Element) typelist.get(j);// 获得xml文件的内容
					System.out.println(type.getChildText("BUSINESSTYPE"));
					String success=type.getChildText("SUCCESS");
					System.out.println("成功 "+success+"条数据");

					Element error = type.getChild("ERROR");// 获得xml文件的内容
					String errorCount = error.getChildText("ERRORCOUNT");// 获得对象的其中一个元素
					System.out.println("失败 "+errorCount+"条数据");
					List errorguid = error.getChildren("ERRORGUID");// 把xml文件内容转化成数组形式
					
					String empno1 = "失败数据guid:";
					for (int a = 0; a < errorguid.size(); a++) {
						Element emp1 = (Element) errorguid.get(a);// 获得数组中的一个对象
						empno1 = empno1 + "  " + emp1.getText();
					}
					System.out.println(empno1);
				}
				// }
			}
			temp = true;
		} catch (JDOMException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			temp = false;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			temp = false;
		}
		return temp;
	}<?xml version="1.0" encoding="UTF-8"?>
<RESULTLIST>
	<RESULT>
		<TYPE>
		<BUSINESSTYPE>定级备案信息</BUSINESSTYPE>
		<SUCCESS>50</SUCCESS>
		<ERROR>
			<ERRORCOUNT>20</ERRORCOUNT>
			<ERRORGUID>1234156456462</ERRORGUID>
			<ERRORGUID>1234156456464</ERRORGUID>
		</ERROR>
		</TYPE>

		<TYPE>
		<BUSINESSTYPE>测评整改</BUSINESSTYPE>
		<SUCCESS>50</SUCCESS>
		<ERROR>
			<ERRORCOUNT>20</ERRORCOUNT>
			<ERRORGUID>1234156456463</ERRORGUID>
			<ERRORGUID>1234156456464</ERRORGUID>
		</ERROR>
		</TYPE>
	</RESULT>

	
</RESULTLIST>
 
分享到:
评论
1 楼 程俊2009 2014-12-22  
需要用哪些jar,可以说下吗

相关推荐

    使用JDOM解析XML文件

    JDOM虽然功能强大,但在处理大型XML文件时可能效率较低,因为它需要将整个文档加载到内存。这时,可以考虑使用StAX或Java内置的DOM API,它们提供了流式处理或分块处理的能力,降低了内存消耗。 总结来说,JDOM是一...

    jdom 读取XML 文件

    JDOM是Java中一个用于处理XML文档的库,它提供了一种高效且方便的方式来创建、读取、修改XML文件。本篇文章将深入探讨如何使用JDOM来读取XML文件。 首先,我们需要了解JDOM的基本概念。JDOM通过构建一棵DOM...

    java利用jdom读取xml文件

    5. 保存修改:如果需要保存对XML文件的修改,可以使用`XMLOutputter`类将`Document`对象转换回XML字符串,然后写回文件: ```java XMLOutputter outputter = new XMLOutputter(); String xmlString = outputter....

    利用JDOM解析xml文件

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,特别是在Java应用程序中,XML经常被用作数据交换的...同时,要注意在处理大型XML文件时可能存在的性能问题,以及在反射操作中对类结构的依赖。

    JDOM对XML文件的读取

    2. 使用`SAXBuilder`解析XML文件:通过`build()`方法,传入XML文件的路径,返回一个`Document`对象,这是JDOM中的核心类,表示整个XML文档。 ```java import java.io.File; File xmlFile = new File("path_to_your...

    JDom 读写XML

    使用JDom读取XML文件通常涉及以下步骤: - 创建SAXBuilder实例。 - 调用`build()`方法,传入XML文件的输入流或文件路径,返回一个Document对象,表示整个XML文档。 - 通过Document对象获取根元素,然后可以遍历...

    java jdom解析xml

    - **SAX与DOM对比**:JDOM采用的是DOM模型,相比SAX解析器,它会将整个XML文档加载到内存中,适合小型XML文件。对于大型文件,可以考虑使用SAX或StAX以减少内存消耗。 - **优化策略**:如果确实需要处理大型XML...

    JDOM操作xml文件的xmlBean

    这使得开发人员能够非常直观地对XML文档进行读取、修改和创建。JDOM的核心类包括: - `Document`:代表整个XML文档。 - `Element`:代表XML文档中的元素节点。 - `Text`:代表元素中的文本内容。 - `Attribute`:...

    Jdom查找XML文件的所有节点内容

    使用JDOM解析XML文件的第一步是创建一个`SAXBuilder`对象,然后通过调用其`build`方法,传入XML文件的输入流,得到一个`Document`对象,该对象代表了整个XML文档。 ```java SAXBuilder sb = new SAXBuilder(); ...

    利用jdom操作xml文档

    本文详细介绍了如何使用 JDOM 库创建 XML 文档,以及如何进行基本的 XML 文件解析。通过这些基础操作,您可以轻松地使用 Java 来管理和操作 XML 数据。JDOM 的简洁性和易用性使其成为处理 XML 数据的理想选择之一。

    java利用jdom解析xml文件

    最后,为了保存对XML文件的修改,我们需要创建`Transformer`并将其应用于`Document`: ```java import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml....

    jdom解析xml文件小实例

    在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.jdom &lt;artifactId&gt;...

    java 使用JDOM解析xml文件.docx

    JDOM 是一个开源项目,基于树型结构,利用纯 Java 技术对 XML 文档实现解析、生成、序列化以及多种操作。JDOM 直接为 Java 编程服务,利用 Java 语言的诸多特性(方法重载、集合概念以及映射),把 SAX 和 DOM 的...

    jdom 读取修改xml文件

    ### JDOM 读取与修改 XML 文件 #### JDOM 简介 JDOM(Java Document Object Model)是一个用于处理 XML 数据的 Java 库。它提供了面向对象的 API 来解析、创建和修改 XML 文档。JDOM 的设计非常直观且易于使用,...

    jdom读写xml说明

    总之,JDOM是一个强大的XML处理库,它简化了XML文档的读写和操作。理解其基本用法和API,能够帮助开发者高效地处理XML任务。在实际项目中,根据需求选择合适的解析方式,并注意资源管理,可以充分发挥JDOM的优势。

    Web.xml文件配置JDOM對XML文件操作

    * fileName文件的路徑和名稱 * firstChild為xml第一個節點 * */ public Element ReaderXml(String fileName,String firstChild){ Element element=null; try{ File xmlFile = new File(fileName); ...

    JDOM解析XML文档

    2. **加载XML文件:** 通过调用`SAXBuilder.build(InputStream)`或`SAXBuilder.build(File)`方法加载XML文件。 3. **获取Document对象:** 加载完成后,`build()`方法将返回一个包含整个XML文档的`Document`对象。 4...

    jdom_xml.rar_jdom_xml

    本文将对JDOM和XML的解析进行详细介绍,并进行两者之间的比较。 **JDOM** JDOM(Java Document Object Model)是Java平台上的一个XML处理库,它提供了一种直接在Java对象层次上操作XML文档的方法。JDOM的主要优势...

    jdom1.1.3xml解析工具类

    JDOM是由以下几个包组成的: org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom....org.jdom.xpath包含了对xml文档xpath操作的类

Global site tag (gtag.js) - Google Analytics