天天看點

java讀取XML檔案通用工具類(遞歸調用)

原文:java讀取XML檔案通用工具類(遞歸調用) 源代碼下載下傳位址:http://www.zuidaima.com/share/1550463285480448.htm

java實作讀取XML檔案并得到指定名稱節點下的所有文本内容,包括節點(逆歸)

package com.zuidaima.xml;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

/*******************************************************************************
 * xml通用工具類
 * @author www.zuidaima.com
 */
@SuppressWarnings("unchecked")
public class XMLUtils
{
	public static String xml = "";

	public static void init()
	{
		xml = "";
	}

	/***************************************************************************
	 * 得到指定名稱節點下的所有文本内容,包括節點(逆歸) <暫不考慮節點屬性情況>
	 * 
	 * @param doc
	 *            xml文檔對象
	 * @param e
	 *            要擷取的節點對象
	 * @param exceptTag
	 *            要排除的節點名稱
	 * @return
	 */

	public static String getChildAllText(Document doc, Element e)
	{
		if (e != null)
		{
			if (e.getChildren() != null)
			{
				List<Element> list = e.getChildren();
				xml += "<" + e.getName() + ">";
				for (Element el : list)
				{
					if(el.getChildren().size() > 0)
					{
						getChildAllText(doc, el);
					}
					else
					{
							xml += "<" + el.getName() + ">" + el.getTextTrim() + "</"
									+ el.getName() + ">";
					}
				}
				xml += "</" + e.getName() + ">" ;
			}
			else
			{
					xml += "<" + e.getName() + ">" + e.getTextTrim() + "</"
							+ e.getName() + ">";
			}
		}
		return xml;
	}

	public static void main(String[] args) throws FileNotFoundException,
			JDOMException, IOException
	{ // 如果有任何異常則抛出
		SAXBuilder sb = new SAXBuilder(); // 建立立構造器
		Document doc = null;
		doc = sb
				.build(new FileInputStream(
						"D:\\test.xml")); // 讀入6.xml
		Element root = doc.getRootElement(); // 取得根節點
		// Element e = root.getChild("apptype1");

		// System.out.println(e);
		System.out.println(getChildAllText(doc, root));
	}

}           

 标簽: xml 讀取 工具 遞歸調用 java話題: 文本解析和檔案處理 腳本和工具