dom4j创建及解析XML文件

public interface XmlDocument {
	/***
	 * 创建XML文件
	 * @param filePath 文件路径
	 */
	public void createXml(String filePath);
	
	/***
	 * 解析XML文件
	 * @param filePath 文件路径
	 */
	public void analyzeXml(String filePath);

}






import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;


public class Dom4jDemo implements XmlDocument {

	@Override
	public void createXml(String filePath) {
		Document document=DocumentHelper.createDocument();
		Element employees=document.addElement("employees");
		Element employee=employees.addElement("employee");
		Element name=employee.addElement("name");
		name.setText("你好");
		Element sex=employee.addElement("sex");
		sex.setText("男");
		Element age=employee.addElement("age");
		age.setText("22");
		
		try {
			Writer fileWriter=new FileWriter(filePath);
			XMLWriter xw=new XMLWriter(fileWriter);
			xw.write(document);
			xw.close();
			System.out.println("XML文件创建成功!");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		

	}

	@Override
	public void analyzeXml(String filePath) {
		File inputXML=new File(filePath);
		SAXReader sr=new SAXReader();
		try {
			Document dt=sr.read(inputXML);
			Element employees=dt.getRootElement();
			for(Iterator i=employees.elementIterator();i.hasNext();)
			{
				Element employee=(Element)i.next();
				for(Iterator j=employee.elementIterator();j.hasNext();)
				{
					Element node=(Element)j.next();
					System.out.println(node.getName()+":"+node.getText());  
				}
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
	
	public static void main(String[] args) {
		//Dom4jDemo d4d=new Dom4jDemo();
		//d4d.createXml("F:/dom123.xml");
		//d4d.parserXml("F:/dom123.xml");
	}

}
注意事项:当创建的XML文件编码为UTF-8时,请将Eclipse编码设置为UTF-8,否则创建的XML会有问题

你可能感兴趣的:(xml,解析,dom4j,dom4j解析xml)