-- 作者:jlive
-- 发布时间:4/7/2004 2:58:00 PM
-- jdom samples (2)
生成jdom: package com.sz.xml; import org.jdom.*; import org.jdom.input.*; import org.jdom.contrib.input.ResultSetBuilder; import java.io.IOException; import com.sz.xml.log.Log; import java.sql.ResultSet; public class GenerateXmlDom { public static Document document; public static Document GenerateDomFromXml(String fileName,boolean bool) { SAXBuilder saxbuilder = new SAXBuilder(bool); try { document = saxbuilder.build(fileName); } catch (JDOMException je) { Log.log("GenerateXmlDom.GenerateDomFromXml(" + fileName + ")", je.getMessage()); je.printStackTrace(); } catch (IOException ie) { Log.log("GenerateXmlDom.GenerateDomFromXml(" + fileName + ")", ie.getMessage()); ie.printStackTrace(); } return document; } public static Document GenerateDomFromDatabase(ResultSet rs) { ResultSetBuilder builder = new ResultSetBuilder(rs); try { document = builder.build(); } catch (JDOMException je) { Log.log("GenerateXmlDom.GenerateDomFromDatabase(rs)", je.getMessage()); je.printStackTrace(); } return document; } } 辅助类: package com.sz.xml; import org.jdom.Element; import org.jdom.Document; import java.util.Iterator; import java.util.ArrayList; public class XmlUtil { public Element getRootElement(Document document){ return document.getRootElement(); } public Element xmlfindElement(Element element, String nodeTag) { Iterator iterator = element.getChildren().iterator(); if(element.getName().equals(nodeTag)) return element; while(iterator.hasNext()) { Element element1 = (Element)iterator.next(); Element element2 = xmlfindElement(element1, nodeTag); if(element2 != null) return element2; } return null; } public static Object[] split(String str1,String tag){ String str = str1; ArrayList list = new ArrayList(); int i = 0; while (!str.equals("")) { if (str.indexOf(tag)!=-1){ list.add(str.substring(0,str.indexOf(tag))); str = str.substring(str.indexOf(tag)+1); }else{ list.add(str); str = ""; } i++; } return list.toArray(); } public static void main(String args[]){ String str="a,b,c;e,f,g"; Object array1[] = null; Object array2[] = null; array1 = split(str,";"); for(int i=0;i<array1.length;i++){ array2=split(array1[i].toString(),","); for(int j=0;j<array2.length;j++){ System.out.println(array2[j].toString()); } } } }
|