使用JDOM生成和解析XML

本文介绍如何使用JDOM库在Java中生成及解析XML文件。通过具体代码示例,展示了创建XML文档、添加元素及属性的过程,并演示了如何读取XML文件并解析其内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

到官方网站下载JDOM包http://www.jdom.org/

注意的是,版本1和版本2的类路径已经变更,如果你是更新使用版本2,则需要重新编译你的代码

Java代码 收藏代码
  1. packagecom.test;
  2. importjava.io.FileOutputStream;
  3. importjava.util.List;
  4. importorg.jdom2.Document;
  5. importorg.jdom2.Element;
  6. importorg.jdom2.input.SAXBuilder;
  7. importorg.jdom2.output.Format;
  8. importorg.jdom2.output.XMLOutputter;
  9. /**
  10. *@说明JDom生成解析XML
  11. *@authorcuisuqiang
  12. *@version1.0
  13. *@since
  14. */
  15. @SuppressWarnings("unchecked")
  16. publicclassJDomDemo{
  17. publicstaticvoidmain(String[]args){
  18. Stringfile="C:\\p.xml";//文件存放位置
  19. JDomDemodj=newJDomDemo();
  20. dj.createXml(file);
  21. dj.parserXml(file);
  22. }
  23. /**
  24. *生成XML
  25. *@paramfilePath文件路径
  26. */
  27. publicvoidcreateXml(StringfileName){
  28. Elementroot=newElement("persons");
  29. Documentdocument=newDocument(root);
  30. Elementperson=newElement("person");
  31. root.addContent(person);
  32. Elementname=newElement("name");
  33. name.setText("java小强");
  34. person.addContent(name);
  35. Elementsex=newElement("sex");
  36. sex.setText("man");
  37. person.addContent(sex);
  38. Elementage=newElement("age");
  39. age.setText("23");
  40. person.addContent(age);
  41. XMLOutputterXMLOut=newXMLOutputter();
  42. try{
  43. Formatf=Format.getPrettyFormat();
  44. f.setEncoding("UTF-8");//default=UTF-8
  45. XMLOut.setFormat(f);
  46. XMLOut.output(document,newFileOutputStream(fileName));
  47. }catch(Exceptione){
  48. e.printStackTrace();
  49. }
  50. }
  51. /**
  52. *解析XML
  53. *@paramfilePath文件路径
  54. */
  55. publicvoidparserXml(StringfileName){
  56. try{
  57. SAXBuilderbuilder=newSAXBuilder();
  58. Documentdocument=builder.build(fileName);
  59. Elementroot=document.getRootElement();
  60. Listpersons=root.getChildren("person");
  61. for(inti=0;i<persons.size();i++){
  62. Elementperson=(Element)persons.get(i);
  63. Listpros=person.getChildren();
  64. for(intj=0;j<pros.size();j++){
  65. Elementelement=(Element)pros.get(j);
  66. System.out.println(element.getName()+":"+element.getValue());
  67. }
  68. }
  69. }catch(Exceptione){
  70. e.printStackTrace();
  71. }
  72. }
  73. }

请您到ITEYE网站看原创,谢谢!

http://cuisuqiang.iteye.com/

自建博客地址:http://www.javacui.com/,内容与ITEYE同步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值