Dom4j初步使用

本文介绍了如何使用Dom4j库进行XML文件的解析与生成。包括读取XML文件中的用户名和密码信息,并通过Java代码生成包含用户信息的XML文件。

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


一、解析XML文件
//读取用户名和密码
      public static List<String> getUserInfo(String filePath,String usertypethrows DocumentException{
           List<String> user = new ArrayList<String>();
           String username = null;
           String password = null;
           SAXReader reader = new SAXReader();
        Document document = reader.read( filePath);
        Element root = document.getRootElement();
//        System.out.println(root.getName()); //打印根节点名称
//        //获取某节点的属性
//        String freeuser = root.element("user").attributeValue("type");
//        System.out.println( freeuser);
       
        List<Element> childElements = root .elements( "user" );
        for(Element elementchildElements){
            if( element.attributeValue( "type").equals( usertype)){
                 username = element.element( "username").getText();
                 password = element.element( "password").getText();
                 user.add(0, username);
                 user.add(1, password);
                 //System.out.println(username );
           } else if (element.attributeValue( "type").equals( usertype)){
                 username = element.element( "username").getText();
                 password = element.element( "password").getText();
                 user.add(0, username);
                 user.add(1, password);
           }
        }
        return  user;
     }


二、Dom4j生成XMl文件
  1.  public class Dom4jBuildXml {  
        public void build(){  
           try {  
               //DocumentHelper提供了创建Document对象的方法  
                 Document document = DocumentHelper.createDocument();  
               //添加节点信息  
                Element rootElement = document.addElement("users");  
               //这里可以继续添加子节点,也可以指定内容  
              rootElement.setText("这个是module标签的文本信息");  
               Element element = rootElement.addElement("user");  
                 
               Element nameElement = element.addElement("name");  
                Element valueElement = element.addElement("password");  
              Element descriptionElement = element.addElement("description");  
               nameElement.setText("名称");  
                nameElement.addAttribute("language", "java");//为节点添加属性值  
               valueElement.setText("值");  
                valueElement.addAttribute("language", "c#");  
               descriptionElement.setText("描述");  
                descriptionElement.addAttribute("language", "sql server");  
                System.out.println(document.asXML()); //将document文档对象直接转换成字符串输出  
               Writer fileWriter = new FileWriter("c:\\user.xml");  
                //dom4j提供了专门写入文件的对象XMLWriter  
                XMLWriter xmlWriter = new XMLWriter(fileWriter);  
                xmlWriter.write(document);  
               xmlWriter.flush();  
                xmlWriter.close();  
                System.out.println("xml文档添加成功!");  
             } catch (IOException e) {  
                e.printStackTrace();  
           }  
       }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值