XML_Java_ XML_利用Jdom(Java)解析xml文件 示例

前端之家收集整理的这篇文章主要介绍了XML_Java_ XML_利用Jdom(Java)解析xml文件 示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近在看Spring,感觉 xml+反射 可以完成很多事情, 其中 xml 可以利用jdom/dom4j 等解析工具进行解析


下面给出一个jdom 解析xml的例子

个人感觉jdom解析xml与javaScript的便准dom读取的函数有异曲同工之妙。如 js的Element.getAttribute("xxx")...



jdom的一下载地址 http://download.csdn.net/detail/manymore13/5049145


项目结构:




解析xml 的Java代码

  1. import java.util.*;
  2. import org.jdom.*;
  3. import org.jdom.input.SAXBuilder;
  4. public class Sample {
  5. public static void main(String[] args) throws Exception{
  6. SAXBuilder sb=new SAXBuilder();
  7. Document doc=sb.build(Sample.class.getClassLoader().getResourceAsStream("beans.xml")); //构造文档对象
  8. Element root=doc.getRootElement();
  9. List<?> list=root.getChildren("bean");
  10. for(int i=0;i<list.size();i++){
  11. Element element=(Element)list.get(i);
  12. String id=element.getAttributeValue("id");
  13. String clazz=element.getAttributeValue("class");
  14. System.out.println("dom一层节点id: "+id);
  15. System.out.println("dom一层节点class: "+clazz);
  16. //看看是否有property
  17. if(element.getChildren("property") != null){
  18. List<?> propertyList = element.getChildren("property");
  19. for(int j=0; j<propertyList.size(); j++){
  20. Element element2 = (Element)propertyList.get(j);
  21. String name = element2.getAttributeValue("name");
  22. System.out.println("dom二层节点name: "+name);
  23. }
  24. }
  25. }
  26. SAXBuilder sx=new SAXBuilder();
  27. Document doc1=sx.build(Sample.class.getClassLoader().getResourceAsStream("test.xml")); //构造文档对象
  28. Element root1=doc1.getRootElement(); //获取根元素HD
  29. List<?> list1=root1.getChildren("disk");
  30. for(int i=0;i<list.size();i++){
  31. Element element=(Element)list1.get(i);
  32. String name=element.getAttributeValue("name");
  33. String capacity=element.getChildText("capacity");//取disk子元素capacity的内容
  34. String directories=element.getChildText("directories");
  35. String files=element.getChildText("files");
  36. String text = element.getText();
  37. System.out.println("dom节点内的内容为(调用trim后):"+text.trim());
  38. System.out.println("磁盘信息:");
  39. System.out.println("分区盘符:"+name);
  40. System.out.println("分区容量:"+capacity);
  41. System.out.println("目录数:"+directories);
  42. System.out.println("文件数:"+files);
  43. System.out.println("-----------------------------------");
  44. }
  45. }
  46. }


beans.xml

  1. <beans>
  2. <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl" />
  3. <bean id="userService" class="com.bjsxt.service.UserService" >
  4. <property name="userDAO" bean="u"/>
  5. </bean>
  6. </beans>





test.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <HD>
  3. <disk name="C">
  4. xxxxxxxxx
  5. <capacity>8G</capacity>
  6. <directories>200</directories>
  7. <files>1580</files>
  8. </disk>
  9.  
  10. <disk name="D">
  11. <capacity>10G</capacity>
  12. <directories>500</directories>
  13. <files>3000</files>
  14. </disk>
  15. </HD>

猜你在找的XML相关文章