原文: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話題: 文本解析和檔案處理 腳本和工具