`
liudong_1985
  • 浏览: 36132 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

XMLUtils

    博客分类:
  • XML
阅读更多
package com.mypack;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.dom.DOMElement;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

/**
 * 
 * <ul>
 * xml工具类
 * </ul>
 * 
 * @author helena
 * 
 */
public final class XMLUtils {
	/**
	 * 
	 * <li>获取文档</li>
	 * 
	 * @param xmlFilePath
	 * @return
	 */
	public static Document getDocument(String xmlFilePath) {
		if (null == xmlFilePath || xmlFilePath.equals("")) {
			throw new RuntimeException("parameter is not null!");
		}
		Document document = null;
		try {
			SAXReader reader = new SAXReader();
			document = reader.read(new File(xmlFilePath));
		} catch (DocumentException e) {

			throw new RuntimeException(e.getMessage(), e);
		}

		return document;
	}

	/**
	 * 
	 * <li></li>
	 * 
	 * @param url
	 * @return
	 */
	public static Document getDocument(URL url) {
		if (null == url) {
			throw new RuntimeException("parameter is not null");
		}
		Document document = null;
		try {
			SAXReader reader = new SAXReader();
			document = reader.read(url);
		} catch (DocumentException e) {

			throw new RuntimeException(e.getMessage(), e);
		}

		return document;
	}

	/**
	 * 
	 * <li></li>
	 * 
	 * @param document
	 * @return
	 */
	public static Element getRootElement(Document document) {
		if (null != document) {
			return document.getRootElement();
		}
		return null;
	}

	/**
	 * 
	 * <li></li>
	 * 
	 * @param elementName
	 * @return
	 */
	public static Element addElement(String elementName) {
		if (elementName == null || elementName.equals("")) {
			throw new RuntimeException("parameter is not null!");
		}
		return new DOMElement(elementName);
	}

	/**
	 * 
	 * <li></li>
	 * 
	 * @param element
	 * @param elementName
	 * @param attributeName
	 * @param attributeValue
	 */
	public static void addElement(Element element, String elementName,
			String attributeName, String attributeValue) {
		if (null == element) {
			throw new RuntimeException("parameter element is not null!");
		}

		if ((attributeName == null || attributeName.equals(""))
				|| (attributeName == null || attributeName.equals(""))) {
			return;
		}

		String[] arrAttributeName = attributeName.split("[,;]");
		String[] arrAttributeValue = attributeValue.split("[,;]");

		if (arrAttributeName.length != arrAttributeValue.length) {
			throw new RuntimeException("parameter is not correct!");
		}
		Element tempElement = new DOMElement(elementName);

		for (int i = 0; i < arrAttributeName.length; i++) {
			tempElement.addAttribute(arrAttributeName[i], arrAttributeValue[i]);

		}

		element.add(tempElement);
	}

	/**
	 * 
	 * <li></li>
	 * 
	 * @param document
	 * @param xmlFilePath
	 */
	public static void saveXML(Document document, String xmlFilePath) {
		XMLWriter out = null;
		try {
			OutputFormat outputFormat = OutputFormat.createPrettyPrint();
			outputFormat.setEncoding("GBK");
			out = new XMLWriter(new FileWriter(xmlFilePath), outputFormat);
			out.write(document);
		} catch (UnsupportedEncodingException e) {
			throw new RuntimeException(e.getMessage(), e);
		} catch (IOException e) {
			throw new RuntimeException(e.getMessage(), e);
		} finally {
			if (null != out) {
				try {
					out.close();
				} catch (IOException e) {
					throw new RuntimeException(e.getMessage(), e);
				}
			}
		}

	}

}

分享到:
评论

相关推荐

    JS操作XML工具类XmlUtils

    XmlUtils JS操作XML工具类 **  * 加载xml文件,参数:  * @param {string} xmlPath:加载的xml文件路径; * @return {Object} true 正常加载; false 加载失败 *

    XmlUtils.java xml解析工具包

    XML交互时方便进行XML格式转换,包含XML格式数据转换成list对象方法,参数拼接成XML方法

    XMLUtils.java

    可以处理非常复杂的xml,带节点保存,如节点a下的节点b下的name,调用可用map.get("a").get("b").get("name")如:{ "sectornum": "3", "ReturnResult": "0", "containers": { "container": [ ...

    XmlUtils JS操作XML工具类

    js code(XmlUtils.js): 代码如下: /**/ function XmlUtils (config) { /*定义私有属性*/ this.isIE = !!(window.attachEvent && !window.opera); this.init(); if(config) { this.dataType = config.dataType == ...

    javascript封装的通用解析和操作xml文件数据工具类(含测试使用代码)

    document.getElementById('xmlOpTest').innerHTML += ' 得到节点的第一个节点: '+xmlUtils.getTagName(node) + "---" + xmlUtils.getText(node) +' ======== 节点类型:' + xmlUtils.getNodeType(node) + '...

    xmlutils.zip

    public class XMLUtils { public static String toXML(Object obj) { // 使用反射获取属性,生成XML字符串 } public static &lt;T&gt; T fromXML(String xmlStr, Class&lt;T&gt; clazz) { // 解析XML字符串,创建并初始化...

    Android开发中解析xml文件XmlUtils工具类与用法示例

    本文实例讲述了Android开发中解析xml文件XmlUtils工具类与用法。分享给大家供大家参考,具体如下: 1. xmlUtil工具类 package com.example.xmlpaserutil.util; import java.io.InputStream; import java.lang....

    XmlUtils.java XML解析工具类

    XML解析工具类

    cas客户端集成单点登录代码

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign-On, SSO)。在本文中,我们将深入探讨如何将CAS客户端集成到您的应用程序中,实现单点登录功能。...

    XmlUtils.java

    request提取json

    cxf的jar包

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它用于构建和开发服务导向架构(SOA)中的Web服务。CXF允许开发者以他们选择的语言(如Java)编写服务端和客户端代码,同时支持多种Web...

    2017XML字符串转对象Object 实现工具

    实现 XML字符串转VO对象的实现 1.0:标签读取,属性读取,List类型标签实现 以下是 测试说明 原XML: &lt;?xml version="1.0" encoding="UTF-8"?&gt; ...{"body":{"class":"xmlToObject.vo.ReqBody","list":[{"class":...

    apache-cxf-2.7.5所有jar都在

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.7.5"压缩包包含的是CXF的特定版本2.7.5的所有相关JAR文件,这些文件是运行和开发CXF应用程序所必需的。...

    自定义简单XML的读与存,便捷工具类

    我们将分析提供的文件,包括`XMLUtils.java`,这是实现XML操作的核心工具类,`CacheNodeVO.java`和`CacheNodeBaseVO.java`可能是定义数据模型的类,以及`Test.java`,这是一个测试类,用于验证XML处理功能。...

    很好的读取xml的java代码

    本文将详细介绍一个用于读取XML文件的Java类——`XMLUtils`。该类通过`javax.xml.transform`包中的相关API实现XML文档的解析与处理功能。 #### 类结构与功能 `XMLUtils`类主要提供了以下功能: 1. **创建...

    java解析rss具体信息

    XmlUtils xu = new XmlUtils(); try { URL url = new URL("http://news.163.com/special/00011K6L/rss_newstop.xml"); List&lt;Node&gt; list = xu.getXmlInfo(Constant.RSS_DOM_CHILDREN_ROOT, url); for (Node node...

    易呗云收银JAVA语言开发DEMO.zip

    易呗云收银JAVA语言开发DEMOe8-java-演示介绍易呗云收银JAVA语言开发DEMO软件架构- config 配置目录 - Config.java 配置文件 - controllers 控制器目录... XmlUtils.java xml工具类安装教程蚀maven参与贡献乐云网络

Global site tag (gtag.js) - Google Analytics