• 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();
        }
    }
  • 相关阅读:
    【JAVA JDBC】
    c# 实现定义一套中间SQL可以跨库执行的SQL语句
    学习笔记-DC5-WalkThrough
    CorelDRAW软件Logo改名为Alludo
    【计算机网络】 确认应答机制与超时重传
    语义化版本 2.0.0
    python-Matplotlib画图那些你不知道的事
    微服务-gateway基本使用
    Pulsar Meetup 深圳 2024 会务介绍
    C. Even Picture(构造)
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126192267