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);
}
}
}
}
}
分享到:
相关推荐
XmlUtils JS操作XML工具类 ** * 加载xml文件,参数: * @param {string} xmlPath:加载的xml文件路径; * @return {Object} true 正常加载; false 加载失败 *
XML交互时方便进行XML格式转换,包含XML格式数据转换成list对象方法,参数拼接成XML方法
可以处理非常复杂的xml,带节点保存,如节点a下的节点b下的name,调用可用map.get("a").get("b").get("name")如:{ "sectornum": "3", "ReturnResult": "0", "containers": { "container": [ ...
js code(XmlUtils.js): 代码如下: /**/ function XmlUtils (config) { /*定义私有属性*/ this.isIE = !!(window.attachEvent && !window.opera); this.init(); if(config) { this.dataType = config.dataType == ...
document.getElementById('xmlOpTest').innerHTML += ' 得到节点的第一个节点: '+xmlUtils.getTagName(node) + "---" + xmlUtils.getText(node) +' ======== 节点类型:' + xmlUtils.getNodeType(node) + '...
public class XMLUtils { public static String toXML(Object obj) { // 使用反射获取属性,生成XML字符串 } public static <T> T fromXML(String xmlStr, Class<T> clazz) { // 解析XML字符串,创建并初始化...
本文实例讲述了Android开发中解析xml文件XmlUtils工具类与用法。分享给大家供大家参考,具体如下: 1. xmlUtil工具类 package com.example.xmlpaserutil.util; import java.io.InputStream; import java.lang....
XML解析工具类
CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign-On, SSO)。在本文中,我们将深入探讨如何将CAS客户端集成到您的应用程序中,实现单点登录功能。...
request提取json
CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它用于构建和开发服务导向架构(SOA)中的Web服务。CXF允许开发者以他们选择的语言(如Java)编写服务端和客户端代码,同时支持多种Web...
实现 XML字符串转VO对象的实现 1.0:标签读取,属性读取,List类型标签实现 以下是 测试说明 原XML: <?xml version="1.0" encoding="UTF-8"?> ...{"body":{"class":"xmlToObject.vo.ReqBody","list":[{"class":...
Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.7.5"压缩包包含的是CXF的特定版本2.7.5的所有相关JAR文件,这些文件是运行和开发CXF应用程序所必需的。...
我们将分析提供的文件,包括`XMLUtils.java`,这是实现XML操作的核心工具类,`CacheNodeVO.java`和`CacheNodeBaseVO.java`可能是定义数据模型的类,以及`Test.java`,这是一个测试类,用于验证XML处理功能。...
本文将详细介绍一个用于读取XML文件的Java类——`XMLUtils`。该类通过`javax.xml.transform`包中的相关API实现XML文档的解析与处理功能。 #### 类结构与功能 `XMLUtils`类主要提供了以下功能: 1. **创建...
XmlUtils xu = new XmlUtils(); try { URL url = new URL("http://news.163.com/special/00011K6L/rss_newstop.xml"); List<Node> list = xu.getXmlInfo(Constant.RSS_DOM_CHILDREN_ROOT, url); for (Node node...
public class XmlUtils { /** * 获取Document对象。根据xml文件的名字获取Document对象。 * * @param file * 要获取对象的xml文件全路径。 * @return 返回获取到的Document对象。 * @throws ...