dom4j解析xml文件的例子

网上很多今天我自己写个 递归的,留作备用,其实看了api可以发现,可以从流中拿到document的,也可以从字符串中,等等有很多方法。大家可以尝试。本实例,大家只要输入正确的文件名就OK可以测试了.....


import java.io.File;
import java.io.FileInputStream;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class PaymentAnalysisXML {

	public static void main(String[] args) {
		
		try{
		String filePath = "src/this.xml"; //文件路径(任何xml文件,但要保证路径啊!)			
           FileInputStream inputStream = new FileInputStream(new File(filePath));
			new PaymentAnalysisXML().readContentFromInputStream(inputStream);
		} catch(Exception e) {
			e.printStackTrace();
		}
		
	}
	
	
	public void readContentFromInputStream(FileInputStream inputStream) {
		try {
			Document document = new SAXReader().read(inputStream);
			recursionElementGetContent(document.getRootElement());
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}


	public void recursionElementGetContent(Element element2) {

		List<Element> list = element2.elements();
		if(list.size() > 0) {
			for(int i=0; i<list.size(); i++) {
				Element element = list.get(i);
				if(element.isTextOnly()) {
					System.out.println(element.getName() + " == " + element.getTextTrim());
					continue;
				}
				recursionElementGetContent(element);
			}
		}
	}
}

你可能感兴趣的:(java,xml)