dom4j操作Element节点方法

发布时间 2023-09-19 10:31:53作者: cherrymint
1.获取文档的根节点
Element rootElm = document.getRootElement(); 

2.取得某节点的单一子节点
Element memberElm=root.element("tagName");

3.取得节点的文字
String text=root.elementText("name");

4.取得某节点下名为"member"的所有字节点并进行遍历
List nodes = rootElm.elements("member"); 
for (Iterator it = nodes.iterator(); it.hasNext();) { 
  Element elm = (Element) it.next(); 
  //TODO
} 

5.对某节点下的所有子节点进行遍历
for(Iterator it=root.elementIterator();it.hasNext();){ 
  Element element = (Element) it.next(); 
  //TODO
} 

6.在某节点下添加子节点
Element tagAdd= newMemberElm.addElement("tag");

7.设置节点文字
tagAdd.setText("29"); 

8.删除父节点下的某一子节点
parentElm.remove(childElm);

eg:
            //创建一个SAXReader对象
            SAXReader reader = new SAXReader();
            if (StringUtils.isNotEmpty(DTO.getImageUrl())) {
                doc = reader.read(DTO.getImageUrl());
            } else {
                doc = reader.read(new ByteArrayInputStream
                        (Base64.getDecoder().decode(DTO.getBase64Data())));
            }
            //得到xml根节点
            Element root = doc.getRootElement();
            //遍历子元素
            List<Element> elements = root.elements();
            for (Element e : elements) {
            //类型
            if ("Header".equals(e.getName())) {
                verifyHeaderForXml(in, e);
            }
            if ("Data".equals(e.getName())) {
                Element information = e.element("information ");
                in.setXX(getElementIfExist(information , "information "));
            }
           }