• 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();
        }
    }
  • 相关阅读:
    win10 QT failure attempt to write a readonly database
    09.Tornado_获取请求参数
    markdown pdf报错问题
    RHCE第八天上课笔记
    【深度学习】实验09 使用Keras完成线性回归
    vue中v-bind对样式的加强
    游览器找不到服务器上PHP文件的一种原因
    使用PHP编写采集药品官方数据的程序
    Fiddler基础使用
    使用开源ros包实现导航功能(一)
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126192267