• Java dom4j如何获取,添加,删除,查找,设置Element属性呢?


    转自:

    Java dom4j如何获取,添加,删除,查找,设置Element属性呢?

    下文讲述dom4j操作Element属性的方法分享,如下所示:

    取得某节点下的某属性

    Element root=document.getRootElement();
    Attribute attribute=root.attribute("size");// 属性名name
    

    取得属性的文字

     
    String text=attribute.getText();   
    //  这个是取得根节点下name字节点的属性firstname的值: 
    String text2=root.element("name").attributeValue("firstname");
    

    遍历某节点的所有属性

    Element root=document.getRootElement(); 
    for(Iterator it=root.attributeIterator();it.hasNext();){ 
     Attribute attribute = (Attribute) it.next(); 
     String text=attribute.getText(); 
     System.out.println(text); 
    }
    

    设置某节点的属性和文字

    newMemberElm.addAttribute("name", "属性值");    
    

    设置属性的文字

    Attribute attribute=root.attribute("name"); 
    attribute.setText("属性值"); 
    

    删除某属性

    Attribute attribute=root.attribute("name");// 属性名name
    root.remove(attribute);
    

    public void modifyDoc() {
        try {
            Document doc = reader.read(new File("file/test.xml"));
            
            //修改属性内容
            List list = doc.selectNodes("//article/@level");
            Iterator iter = list.iterator();
            while (iter.hasNext()) {
                Attribute attr = iter.next();
                fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
                if ("Intermediate".equals(attr.getValue())) {
                    //修改属性值
                    attr.setValue("新属性值");
                    fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
                }
            }
            
            list = doc.selectNodes("//article/@date");
            iter = list.iterator();
            while (iter.hasNext()) {
                Attribute attr = iter.next();
                fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
                if ("我是属性值".equals(attr.getValue())) {
                    //修改属性值
                    attr.setValue("新属性值");
                    fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
                }
            }
            
            //写入到文件
            /*XMLWriter output = new XMLWriter(new FileWriter(new File("file/test.xml")));
            output.write(doc);
            output.close();*/
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
  • 相关阅读:
    STM32F103ZE单片机呼吸灯源代码
    Vue进阶(幺陆伍)PhantomJS 实战讲解
    50年前,Hello World发明者第一次提交的Go代码长这样……
    echarts三柱图叠加三柱图解法
    src/backend/optimizer/README
    Es Ik
    【echarts】12、echarts+vue2 - 柱状图
    自学Python第二十五天- Pipenv 虚拟环境和包管理工具
    微信小程序健康管理系统的开发与实现
    Spring框架系列(11) - Spring AOP实现原理详解之Cglib代理实现
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126192267