Dom4j

http://baike.baidu.com/link?url=2XOnr06saKUd-9By1GyPxIolXMQhf_C-CnMFll_yhtR4m00i27zphbkI5-dGpwEVjuKbkdosTYmNMXc4OA31ba

1

  1. package ec.export.checksheet;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.util.ArrayList;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10.  
  11. import net.sf.jasperreports.engine.JREmptyDataSource;
  12. import net.sf.jasperreports.engine.JRException;
  13. import net.sf.jasperreports.engine.JRPrintPage;
  14. import net.sf.jasperreports.engine.JasperFillManager;
  15. import net.sf.jasperreports.engine.JasperPrint;
  16. import net.sf.jasperreports.engine.JasperReport;
  17. import net.sf.jasperreports.engine.util.JRLoader;
  18.  
  19. import org.dom4j.Document;
  20. import org.dom4j.DocumentException;
  21. import org.dom4j.io.SAXReader;
  22.  
  23. import ec.export.ECReportHelper;
  24. import ec.utils.Dom4jXml;
  25.  
  26. public class AddCheckSheet {
  27.  
  28. public Dom4jXml dj = new Dom4jXml();
  29. String TEMPLATES_PATH = "ec/export/resources/";
  30.  
  31. public JasperPrint FormTotalPage(JasperPrint jp,org.w3c.dom.Document document,Map mSelectCheckSheet,Map mCheckSheetAutoFill){
  32. List l=new ArrayList();
  33. try {
  34. l=CheckSheetReadXml(document,mCheckSheetAutoFill);
  35. } catch (Exception e1) {
  36. // TODO Auto-generated catch block
  37. e1.printStackTrace();
  38. }
  39.  
  40. // String jasperpatha=getClass().getResource("")+"checksheeta.jasper";
  41. // jasperpatha=jasperpatha.replaceAll("file:/", "");
  42. // String jasperpathb=getClass().getResource("")+"checksheetb.jasper";
  43. // jasperpathb=jasperpathb.replaceAll("file:/", "");
  44.  
  45. //ECReportHelper.locateResource("");
  46.  
  47. String jasperpatha=TEMPLATES_PATH+"checksheeta.jasper";
  48.  
  49. String jasperpathb=TEMPLATES_PATH+"checksheetb.jasper";
  50.  
  51. for(int i=;i<l.size();i++){
  52.  
  53. // String ec.export.ECJobReporter.buildStylesFile();
  54.  
  55. // ========for checksheeta.jasper=======
  56. JasperPrint jasperprint = new JasperPrint();
  57. try {
  58. //JasperPrint jasperPrint = JasperFillManager.fillReport(getClass().getResourceAsStream("periodo.jasper"), parameters, con);
  59. //jasperprint = JasperFillManager.fillReport(JRLoader.getResourceInputStream(jasperpathb), (Map)l.get(i));
  60. jasperprint = JasperFillManager.fillReport(JRLoader.getResourceInputStream(jasperpatha), (Map)l.get(i), new JREmptyDataSource());
  61. //jasperprint = JasperFillManager.fillReport(ClassLoader.getSystemResourceAsStream(jasperpathb), (Map)l.get(i), new JREmptyDataSource());
  62. //jasperprint = JasperFillManager.fillReport(getClass().getResourceAsStream(jasperpathb), (Map)l.get(i), new JREmptyDataSource());
  63. //jasperprint = JasperFillManager.fillReport(jasperpathb, (Map)l.get(i), new JREmptyDataSource());
  64.  
  65. } catch (Exception e) {
  66. e.printStackTrace();
  67. }
  68. //System.out.println(" before jp: "+jp.getPages().size());
  69. multipageLinking(jp,jasperprint);
  70. //System.out.println(" after jp: "+jp.getPages().size());
  71.  
  72. // =======for checksheetb.jasper=======
  73. jasperprint = new JasperPrint();
  74. try {
  75. //jasperprint = JasperFillManager.fillReport(JRLoader.getResourceInputStream(jasperpathb), (Map)l.get(i));
  76. jasperprint = JasperFillManager.fillReport(JRLoader.getResourceInputStream(jasperpathb), (Map)l.get(i), new JREmptyDataSource());
  77. //jasperprint = JasperFillManager.fillReport(ClassLoader.getSystemResourceAsStream(jasperpathb), (Map)l.get(i), new JREmptyDataSource());
  78. //jasperprint = JasperFillManager.fillReport(getClass().getResourceAsStream(jasperpathb), (Map)l.get(i), new JREmptyDataSource());
  79. //jasperprint = JasperFillManager.fillReport(jasperpathb, (Map)l.get(i), new JREmptyDataSource());
  80. } catch (Exception e) {
  81. e.printStackTrace();
  82. }
  83. //System.out.println(" before jp: "+jp.getPages().size());
  84. multipageLinking(jp,jasperprint);
  85. //System.out.println(" after jp: "+jp.getPages().size());
  86.  
  87. // JasperPrint result = JasperFillManager.fillReport(
  88. // ECReportHelper.locateResource(JOB_TEMPLATE),
  89. // params
  90. // );
  91. /*
  92. // ========for checksheeta.jasper=======
  93. JasperPrint jasperprint = new JasperPrint();
  94. try {
  95. jasperprint = JasperFillManager.fillReport(jasperpatha, (Map)l.get(i), new JREmptyDataSource());
  96. } catch (Exception e) {
  97. e.printStackTrace();
  98. }
  99. //System.out.println(" before jp: "+jp.getPages().size());
  100. multipageLinking(jp,jasperprint);
  101. //System.out.println(" after jp: "+jp.getPages().size());
  102.  
  103. // =======for checksheetb.jasper=======
  104. jasperprint = new JasperPrint();
  105. try {
  106. jasperprint = JasperFillManager.fillReport(jasperpathb, (Map)l.get(i), new JREmptyDataSource());
  107. } catch (Exception e) {
  108. e.printStackTrace();
  109. }
  110. //System.out.println(" before jp: "+jp.getPages().size());
  111. multipageLinking(jp,jasperprint);
  112. //System.out.println(" after jp: "+jp.getPages().size());
  113. */
  114. }
  115. return jp;
  116. }
  117.  
  118. private JasperPrint multipageLinking(JasperPrint page1, JasperPrint page2) {
  119. List pages = page2.getPages();
  120. for (int count = ; count <pages.size(); count++) {
  121. page1.addPage((JRPrintPage) pages.get(count));
  122. }
  123. return page1;
  124. }
  125.  
  126. // for checkSheet Print
  127. public List CheckSheetReadXml(org.w3c.dom.Document doc,Map mCheckSheetAutoFill) throws Exception{
  128. Document document=dj.parse(doc);
  129. List pl=new ArrayList();
  130.  
  131. //count product num
  132. List list = document.selectNodes("/report/job/product");
  133. int num = list.size();
  134.  
  135. for(int i=;i<=num;i++)
  136. {
  137. Map mproduct=new HashMap();
  138. //0 select_date
  139. String xpathstr="/report/job/@select_date";
  140. if(!dj.getContentString(document,xpathstr).equals("")){
  141. mproduct.put("cs_Date", dj.getContentString(document,xpathstr));
  142. }
  143.  
  144. xpathstr="/report/job/createdDt";
  145. if(!dj.getContentString(document,xpathstr).equals("")){
  146. mproduct.put("cs_Date", dj.getContentString(document,xpathstr));
  147. }
  148.  
  149. //model 1 AT3ARF1R AT5CRF4R
  150. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Screw Compressor Air Cooled Package Chiller']/row/field[name='Model #']/value";
  151. String s1=dj.getContentString(document,xpathstr);
  152. //for acds in spec
  153. if(s1.equals("")){
  154. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Scroll Compressor Air Cooled Package Chiller']/row/field[name='Model #']/value";
  155. s1=dj.getContentString(document,xpathstr);
  156. }
  157.  
  158. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Screw Compressor Air Cooled Package Chiller']/row/field[name='Component code']/value";
  159. String tmep=dj.getContentString(document,xpathstr);
  160. if(tmep==""){}else{
  161. tmep=tmep.substring();
  162. String tempbefore=tmep.substring();
  163. String tempafter=tmep.substring(,);
  164. tmep=tempbefore+tempafter;
  165. }
  166. mproduct.put("cs_Model", s1+tmep);
  167.  
  168. xpathstr="/report/job/product["+i+"]/qty";
  169. mproduct.put("cs_Qty", dj.getContentString(document,xpathstr));
  170.  
  171. //evap 2
  172. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator']/col1/field[contains(name,'Entering fluid temp')]/value";
  173. mproduct.put("cs_Evap_Entering_fluid_temp", dj.getContentString(document,xpathstr));
  174. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator']/col1/field[contains(name,'Fluid flow rate')]/value";
  175. mproduct.put("cs_Evap_Fluid_flow_rate", dj.getContentString(document,xpathstr));
  176. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator']/col2/field[contains(name,'Fouling factor')]/value";
  177. mproduct.put("cs_Evap_Fouling_factor", dj.getContentString(document,xpathstr));
  178. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator']/col2/field[contains(name,'Leaving fluid temp')]/value";
  179. mproduct.put("cs_Evap_Leaving_fluid_temp", dj.getContentString(document,xpathstr));
  180. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator']/col1/field[contains(name,'Fluid')]/value";
  181.  
  182. String fluidstr=dj.getContentString(document,xpathstr);
  183. if(fluidstr!=""&& !fluidstr.equals("")&& fluidstr.contains("%")){
  184. fluidstr=fluidstr.substring(fluidstr.indexOf("%")+)+" / "+fluidstr.substring(, fluidstr.indexOf("%")+);
  185. }
  186. mproduct.put("cs_Evap_Fluid",fluidstr );
  187.  
  188. //mproduct.put("cs_Evap_Fluid", dj.getContentString(document,xpathstr));
  189.  
  190. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator']/col1/field[contains(name,'Number of passes')]/value";
  191. mproduct.put("cs_Evap_Number_of_passes", dj.getContentString(document,xpathstr));
  192.  
  193. //cond 3
  194.  
  195. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Condenser']/col1/field[contains(name,'Design ambient')]/value";
  196. mproduct.put("cs_Cond_Design_ambient", dj.getContentString(document,xpathstr));
  197.  
  198. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Condenser']/col2/field[contains(name,'Entering fluid temp')]/value";
  199. mproduct.put("cs_Cond_Entering_fluid_temp", dj.getContentString(document,xpathstr));
  200. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Condenser']/col2/field[contains(name,'Fluid flow rate')]/value";
  201. mproduct.put("cs_Cond_Fluid_flow_rate", dj.getContentString(document,xpathstr));
  202. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Condenser']/col2/field[contains(name,'Fouling factor')]/value";
  203. mproduct.put("cs_Cond_Fouling_factor", dj.getContentString(document,xpathstr));
  204. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Condenser']/col2/field[contains(name,'Leaving fluid temp')]/value";
  205. mproduct.put("cs_Cond_Leaving_fluid_temp", dj.getContentString(document,xpathstr));
  206. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Condenser']/col2/field[contains(name,'Fluid')]/value";
  207. mproduct.put("cs_Cond_Fluid", dj.getContentString(document,xpathstr));
  208. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Condenser']/col2/field[contains(name,'Number of passes')]/value";
  209. mproduct.put("cs_Cond_Number_of_passes", dj.getContentString(document,xpathstr));
  210.  
  211. //4 Cooling Conditions of service
  212. //<name>Capacity (Tons)</name>
  213. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Conditions of service']/col1/field[contains(name,'Capacity')]/value";
  214. mproduct.put("cs_Capacity", dj.getContentString(document,xpathstr));
  215. //<name>Energy efficiency (kW/Ton)</name>
  216. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Conditions of service']/col2/field[contains(name,'Compressor power')]/value";
  217. mproduct.put("cs_Energy_efficiency", dj.getContentString(document,xpathstr));
  218.  
  219. //5<name>Unit power supply</name>
  220. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Electrical characteristics']/col1/field[contains(name,'Unit power supply')]/value";
  221. mproduct.put("cs_Unit_power_supply", dj.getContentString(document,xpathstr));
  222.  
  223. //6<name>Refrigerant</name>//<value>R134a</value>
  224. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Physical Specifications']/col2/field[contains(name,'Refrigerant')]/value";
  225. mproduct.put("cs_Refrigerant", dj.getContentString(document,xpathstr));
  226.  
  227. //add pictureleftheader
  228. String pic_left_header=TEMPLATES_PATH+"leftheader-cs.JPG";
  229. //pic_left_header=pic_left_header.replaceAll("file:/", "");
  230. mproduct.put("cs_pic_left_header", pic_left_header);
  231.  
  232. mproduct.putAll((Map) mCheckSheetAutoFill.get(i));
  233. pl.add(mproduct);
  234. }
  235. return pl;
  236. }
  237.  
  238. // public static void main(String[] args) throws Exception {
  239. // Dom4jXml dj = new Dom4jXml();
  240. // AddCheckSheet acs=new AddCheckSheet();
  241. // SAXReader saxReader = new SAXReader();
  242. // Document document;
  243. // try {
  244. // document = saxReader.read(new File("D:/Task/draw_cs3/20141218/wcfx36_more.xml"));
  245. //
  246. // acs.CheckSheetReadXml(dj.parse(document));
  247. // } catch (DocumentException e) {
  248. // // TODO Auto-generated catch block
  249. // e.printStackTrace();
  250. // }
  251. // }
  252. }

2

  1. package ec.utils;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.Iterator;
  7. import java.util.List;
  8. import java.util.Map;
  9.  
  10. import org.dom4j.Attribute;
  11. import org.dom4j.Document;
  12. import org.dom4j.DocumentException;
  13. import org.dom4j.Element;
  14. import org.dom4j.io.SAXReader;
  15.  
  16. public class Dom4jXml {
  17.  
  18. static boolean debugf=true;
  19.  
  20. public static void main(String[] args) throws Exception {
  21. Dom4jXml dj = new Dom4jXml();
  22. SAXReader saxReader = new SAXReader();
  23. Document document;
  24. try {
  25. document = saxReader.read(new File("D:/Task/draw_cs3/20141218/wcfx36_more.xml"));
  26.  
  27. dj.ReadXml(parse(document));
  28. } catch (DocumentException e) {
  29. // TODO Auto-generated catch block
  30. e.printStackTrace();
  31. }
  32. }
  33.  
  34. //for checkSheet Print
  35. public List ReadXml(org.w3c.dom.Document doc) throws Exception{
  36. Document document=parse(doc);
  37. List pl=new ArrayList();
  38.  
  39. //count product num
  40. List list = document.selectNodes("/report/job/product");
  41. int num = list.size();
  42.  
  43. for(int i=;i<=num;i++)
  44. {
  45. Map mproduct=new HashMap();
  46. //0 select_date
  47. String xpathstr="/report/job/@select_date";
  48. mproduct.put("cs_Date", getContentString(document,xpathstr));
  49. //model 1 AT3ARF1R AT5CRF4R
  50. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Screw Compressor Water Cooled Package Chiller']/row/field[name='Model #']/value";
  51. String s1=getContentString(document,xpathstr);
  52. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Screw Compressor Water Cooled Package Chiller']/row/field[name='Component code']/value";
  53. mproduct.put("cs_Model", s1+getContentString(document,xpathstr));
  54.  
  55. //evap 2
  56. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col1/field[contains(name,'Entering fluid temp')]/value";
  57. mproduct.put("cs_Evap_Entering_fluid_temp", getContentString(document,xpathstr));
  58. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col1/field[contains(name,'Fluid flow rate')]/value";
  59. mproduct.put("cs_Evap_Fluid_flow_rate", getContentString(document,xpathstr));
  60. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col1/field[contains(name,'Fouling factor')]/value";
  61. mproduct.put("cs_Evap_Fouling_factor", getContentString(document,xpathstr));
  62. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col1/field[contains(name,'Leaving fluid temp')]/value";
  63. mproduct.put("cs_Evap_Leaving_fluid_temp", getContentString(document,xpathstr));
  64. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col1/field[contains(name,'Fluid')]/value";
  65. mproduct.put("cs_Evap_Fluid", getContentString(document,xpathstr));
  66. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col1/field[contains(name,'Number of passes')]/value";
  67. mproduct.put("cs_Evap_Number_of_passes", getContentString(document,xpathstr));
  68.  
  69. //cond 3
  70. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col2/field[contains(name,'Entering fluid temp')]/value";
  71. mproduct.put("cs_Cond_Entering_fluid_temp", getContentString(document,xpathstr));
  72. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col2/field[contains(name,'Fluid flow rate')]/value";
  73. mproduct.put("cs_Cond_Fluid_flow_rate", getContentString(document,xpathstr));
  74. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col2/field[contains(name,'Fouling factor')]/value";
  75. mproduct.put("cs_Cond_Fouling_factor", getContentString(document,xpathstr));
  76. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col2/field[contains(name,'Leaving fluid temp')]/value";
  77. mproduct.put("cs_Cond_Leaving_fluid_temp", getContentString(document,xpathstr));
  78. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col2/field[contains(name,'Fluid')]/value";
  79. mproduct.put("cs_Cond_Fluid", getContentString(document,xpathstr));
  80. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Evaporator_Condenser']/col2/field[contains(name,'Number of passes')]/value";
  81. mproduct.put("cs_Cond_Number_of_passes", getContentString(document,xpathstr));
  82.  
  83. //4 Cooling Conditions of service
  84. //<name>Capacity (Tons)</name>
  85. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Cooling Conditions of service']/col1/field[contains(name,'Capacity')]/value";
  86. mproduct.put("cs_Capacity", getContentString(document,xpathstr));
  87. //<name>Energy efficiency (kW/Ton)</name>
  88. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Cooling Conditions of service']/col2/field[contains(name,'Energy efficiency')]/value";
  89. mproduct.put("cs_Energy_efficiency", getContentString(document,xpathstr));
  90.  
  91. //5<name>Unit power supply</name>
  92. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Electrical characteristics']/col1/field[contains(name,'Unit power supply')]/value";
  93. mproduct.put("cs_Unit_power_supply", getContentString(document,xpathstr));
  94.  
  95. //6<name>Refrigerant</name>//<value>R134a</value>
  96. xpathstr="/report/job/product["+i+"]/performanceData/group[name='Physical Specifications']/col2/field[contains(name,'Refrigerant')]/value";
  97. mproduct.put("cs_Refrigerant", getContentString(document,xpathstr));
  98.  
  99. //getContent(document,xpathstr);
  100.  
  101. pl.add(mproduct);
  102. }
  103. return pl;
  104. }
  105.  
  106. public static Document parse(org.w3c.dom.Document doc) throws Exception {
  107. if (doc == null) {
  108. return (null);
  109. }
  110. org.dom4j.io.DOMReader xmlReader = new org.dom4j.io.DOMReader();
  111. return (xmlReader.read(doc));
  112. }
  113.  
  114. public static org.w3c.dom.Document parse(Document doc) throws Exception {
  115. if (doc == null) {
  116. return (null);
  117. }
  118. java.io.StringReader reader = new java.io.StringReader(doc.asXML());
  119. org.xml.sax.InputSource source = new org.xml.sax.InputSource(reader);
  120. javax.xml.parsers.DocumentBuilderFactory documentBuilderFactory = javax.xml.parsers.DocumentBuilderFactory
  121. .newInstance();
  122. javax.xml.parsers.DocumentBuilder documentBuilder = documentBuilderFactory
  123. .newDocumentBuilder();
  124. return (documentBuilder.parse(source));
  125. }
  126.  
  127. public String getContentString(Document document,String xpathstr){
  128.  
  129. List list = document.selectNodes(xpathstr);
  130. String result="";
  131.  
  132. Iterator iter = list.iterator();
  133. iter = list.iterator();
  134. if (iter.hasNext()) {
  135.  
  136. Object o=iter.next();
  137. if(o instanceof Attribute){
  138. Attribute attribute = (Attribute) o;
  139. //hm.put(attribute.getName(),attribute.getValue());
  140. result=attribute.getValue();
  141. if(debugf){
  142. System.out.println(attribute.getName()+":"+attribute.getValue());
  143. }
  144.  
  145. }
  146. if(o instanceof Element){
  147. Element element = (Element) o;
  148. String name = element.getName();
  149. String value = element.getText();
  150. //hm.put(name, value);
  151. result=value;
  152. if(debugf){
  153. System.out.println(name+":"+value);
  154. }
  155. }
  156. } else {
  157. return result;
  158. }
  159. return result;
  160. }
  161. public Map<String,String> getContent(Document document,String xpathstr){
  162.  
  163. List list = document.selectNodes(xpathstr);
  164.  
  165. Map<String,String> hm=new HashMap();
  166. Iterator iter = list.iterator();
  167. iter = list.iterator();
  168. if (iter.hasNext()) {
  169.  
  170. Object o=iter.next();
  171. if(o instanceof Attribute){
  172. Attribute attribute = (Attribute) o;
  173. hm.put(attribute.getName(),attribute.getValue());
  174. if(debugf){
  175. System.out.println(attribute.getName()+":"+attribute.getValue());
  176. }
  177.  
  178. }
  179. if(o instanceof Element){
  180. Element element = (Element) o;
  181. String name = element.getName();
  182. String value = element.getText();
  183. hm.put(name, value);
  184. if(debugf){
  185. System.out.println(name+":"+value);
  186. }
  187. }
  188. } else {
  189.  
  190. }
  191. return hm;
  192. }
  193.  
  194. }

Dom4j的更多相关文章

  1. XML技术之DOM4J解析器

    由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...

  2. 四种解析和创建方式(DOM,SAX,DOM4J,JDOM)

    一.先导入jar包 DOM基于树形,SAX基于事件,DOM4J和JDOM基于底层API 二.代码如下 1 package com.sxt.test; import java.io.File; impo ...

  3. dom4j的小例子

    1.要解析的xml文件book.xml <?xml version="1.0" encoding="UTF-8"?> <books> & ...

  4. Dom4J解析技术

    前面的话  本文主要讲解有关Dom4j技术和xpath配合下的优化!   目录:    为什么需要Dom4J    DOM4J怎么用    xpath怎么配合DOM4J 一  为什么需要Dom4J 一 ...

  5. Dom4j解析xml文件

    dom4j是一个Java的XML API,类似于jdom,用来读取的XML文件,由于它是将文件解析完存放在内存当中的,所以不适合解析大的XML文件,但就方便性和性能方面,一定程度要优于JDK中Domc ...

  6. java dom4j封装和解析XML

    package org.scbit.lsbi.scp.utils; import java.util.ArrayList; import java.util.List; import org.dom4 ...

  7. xml之dom4j解析

    * 使用dom4j解析xml 实例在java520里面 TextDom4j * dom4j,是一个组织,针对xml解析,提供解析器dom4j * dom4j不是javase的一部分,想要使用第一步需要 ...

  8. 使用dom4j读取xml连接数据库与之单例模式

    使用dom4j读取xml ,加入jar包 dom4j-1.6.1.jar jaxen-1.1-beta-6.jar public class XmlConfigReader { //懒汉式,延迟加载 ...

  9. dom4j解析示例

    收藏信息.xml <?xml version="1.0" encoding="GB2312" standalone="no"?> ...

  10. java DOM4J 读取XML

    最近学习Java,在处理XML文档的时候,查阅相关资料,发现了DOM4J这个jre库,相对C#的XML处理来说,功能还算是跟得上 下面展示一篇我自己写的一个XML读取测试 import java.ut ...

随机推荐

  1. 铭飞MCMS内容管理系统完整开源版J2EE代码

    当前版本:4.6.0铭飞MS官网:http://ms.mingsoft.net官网同时提供一键运行版本下载,请步移官网....QQ交流群号1:221335098很多人说铭飞MCMS是大天朝国唯一完整开 ...

  2. 关于遍历javascript 中的json串浏览器输出的结果不统一的情况

    我们在做项目的时候经常会用到javascript的json. 首先说一下javascript的json串是什么,json串属于javascript的一个对象,有键和值对应的对象. 一般的格式是: a ...

  3. Regionals 2012 :: HangZhou

    题目传送门排行榜 一个人做了12年北大出的题,自己还是太弱了,图论的知识忘光光,最小生成树裸题写不来,Dijkstra TLE不知道用SPFA. 简单几何(点到线段的距离) + 三分 B Steali ...

  4. POJ2516 Minimum Cost(最小费用最大流)

    一开始我把每个店主都拆成k个点,然后建图..然后TLE.. 看题解= =哦,愚钝了,k个商品是独立的,可以分别跑k次最小费用最大流,结果就是k次总和.. #include<cstdio> ...

  5. Noi2011 : 智能车比赛

    假设S在T左边,那么只能往右或者上下走 f[i]表示S到i点的最短路 f[i]=min(f[j]+dis(i,j)(i能看到j)) 判断i能看到j就维护一个上凸壳和一个下凸壳 时间复杂度$O(n^2) ...

  6. TYVJ P1051 选课 Label:多叉转二叉&&树形dp(虐心♥)

    描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这M门课并考核通过就能获得 ...

  7. JAVA操作COOKIE

    JAVA操作COOKIE 1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMa ...

  8. <META http-equiv=X-UA-Compatible content=IE=EmulateIE7>

    未来兼容性中的 META 标记和锁定 注意:本文档是预备文档,随时可能变更. 对于 Web 开发人员来说,文本兼容性是一个要考虑的重要问题.Windows Internet Explorer 8 引入 ...

  9. python 面向对象的三大特征之 继承

    #继承 #object 基类,是python定义的所有类的父类 #经典类:不继承object的类称作经典类 #新式类:继承object的类称作新式类 #python 3.x统一为新式类 #经典类是类对 ...

  10. Apache开启不了------The requested operation has failed!

    1.这个问题通常是由于端口被占用了,cmd输入netstat -ano查看端口号,根据端口号80的程序的pid在任务管理器下杀掉它. 2.我遇到这个问题不是这个原因.我由于刚配置了虚拟目录.查看虚拟目 ...