`
zheng_liming
  • 浏览: 8402 次
  • 性别: Icon_minigender_1
  • 来自: 湖北宜昌
社区版块
存档分类
最新评论

操作XML文件工具类

 
阅读更多

       xml文件是java开发中必不可少的东西,因此有必要熟悉xml文件的操作,编写一个xml文件工具类,供以后翻阅查看,温故而知新,好记性不如烂笔头。

 

       代码如下:

public class Dom4jUtil {
	private Dom4jUtil(){}
	
	/**
	 * 创建文档对象
	 * @return
	 */
	public static Document createDocument()
	{
		Document document = DocumentHelper.createDocument();
		return document;
	}
	
	/**
	 * 获得文档对象
	 * @param filePath 文件路径
	 * @return	
	 * @throws DocumentException
	 * @throws FileNotFoundException 
	 */
	public static Document getDocument(String filePath) throws DocumentException, FileNotFoundException
	{
		try
		{
			SAXReader saxReader = new SAXReader();
			//文件是否存在
			File file = new File(filePath);
			if(file.exists())
			{
				Document document = saxReader.read(new File(filePath)); 
				return document;
			}
			else
			{
				throw new FileNotFoundException(filePath+"文件未找到");
			}			
		}
		catch(DocumentException ex)
		{
			throw new DocumentException("解析xml错误", ex);
		}
	}
	
	/**
	 * 创建根元素
	 * @param document	文档对象
	 * @param rootName	根元素名
	 * @return
	 */
	public static Element createRoot(Document document, String rootName)
	{
		Element root = document.addElement(rootName);
		return root;
	}
	
	/**
	 * 创建元素节点
	 * @param parentEle	父节点
	 * @param eleName	元素名
	 * @param attrMap	元素属性信息
	 * @param text	元素文本
	 * @return
	 */
	public static Element createElement(Element parentEle, String eleName, Map<String, String> attrMap, String text)
	{
		//添加元素节点
		Element element = parentEle.addElement(eleName);
		
		//如果有属性信息
		if(attrMap != null && attrMap.size() > 0)
		{
			for(Iterator<String> it = attrMap.keySet().iterator(); it.hasNext();)
			{
				String attr_key = it.next();
				String attr_value = attrMap.get(attr_key);
				element.addAttribute(attr_key, attr_value);
			}
		}
		
		//添加文本信息
		if(text != null && !"".equals(text))
		{
			element.addText(text);
		}
		return parentEle;
	}
	
	
	/**
	 * 写入XML
	 * @param xmlPath	xml路径
	 * @param document	文档对象
	 * @return	写入结果
	 * @throws IOException
	 */
	public static boolean write(String xmlPath, Document document) throws IOException
	{
		try
		{		    
		    OutputFormat format = OutputFormat.createPrettyPrint();
		    format.setEncoding("UTF-8");	
		    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(xmlPath),"UTF-8"); //中文处理
		    XMLWriter xmlWriter= new XMLWriter(osw,format);
		    xmlWriter.write(document);   
		    xmlWriter.close();		    
		}
		catch(IOException ex)
		{
			throw new IOException("写入xml错误", ex);
		}
		return true;
	}
}

 

分享到:
评论

相关推荐

    XML读写工具类

    本人没分了,特别来分享一下,通用的XML读写工具类,同志们下下绝对不后悔

    C# 造作XML文件工具类

    这是一个C#操作XML文件的工具类,基本上你要用的都给你写好了,直接使用

    Java读取XML文件自制工具类

    //通过文件路径及文件名读取xml public XMLReader(String path, String filename); //初始化读取包下的的XML文件 public XMLReader(Package package1, String fileName); //读取WEB-INF下的xml文件 public XMLReader...

    JS操作XML工具类XmlUtils

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

    Java解析XML工具类--(java源码)

    * 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...

    Xml和Json互转工具类

    本实例主要是通过json-libjar包中的工具类进行操作,简单实现了xml字符串和json字符串之间的转化,xml文件和json文件的转化。而且还兼容jsonObject和jsonArray两种格式,自己摸索,记录一下以便学习。

    jdom1.1.3xml解析工具类

    org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org....

    Linq处理xml的工具类

    Linq处理xml的工具类 处理Xml文档的封装 包含了linq处理xml的基本操作

    xml文件的配置读取工具类

    可以试试

    读取配置文件工具类.rar

    工具类里分读取.yml工具类和.properties工具类,结合博客描述使用,用不到的方法可根据个人情况删除,

    读写超大类xml文件,使用dom4j读写xml文件的工具类

    基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。

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

    javascript封装的通用解析和操作xml文件数据工具类(含测试使用代码) javascript封装的通用解析和操作xml文件数据工具类(含测试使用代码) 测试数据: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;root&gt; &lt;book&gt; ...

    增删改成xml文件java类

    此类教你们如何操作xml文档的,包括向xml文档添加节点,删除节点,修改节点,查询节点。

    java递归读取xml文件

    java递归读取xml文件

    tinyxml工具类

    使用这个工具类库可以很方便读取xml文件配置的相关属性,在游戏与软件开发过程很有用处!

    30个java工具类

    [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] 日期DateUtil.java [工具类] 文件...

    jaava和jsp工具类

    [工具类] 序列化保存为XML文件的工具类 .java [工具类] 一个压缩工具类 .java [工具类] 用java编写简单UDP网络通信程序 .java [工具类] img .jsp [工具类] 分页split_page.jsp .jsp [工具类] 中文验证 .jsp ...

    xml读取工具,用于MFC的XML文件的读取

    这是C++中对XML文件读取最好的工具类 ,请大家放心使用。

    【强2】30个java工具类

    [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] 日期DateUtil.java [工具类] 文件...

    自己写的java对xml文件操作的类

    自己写的java对xml文件操作的类 包含了对xml文件的读取,对属性和值的读取 对元素的增加,删除

Global site tag (gtag.js) - Google Analytics