• dom4j初步使用


    这个是为了我们的一个调查系统,需要给提供一个xml文件,供flash来读取。

    我们用到的包是dom4j-1.6.1
    一般情况下我们还应该用到包jaxen-1.1.1,它是对一些异常进行处理的,如果没有,会报错。


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    import java.io.File;   
    import java.io.FileOutputStream;        
    import java.util.*;
      
    import org.dom4j.Document;   
    import org.dom4j.Element;     
    import org.dom4j.io.SAXReader;   
    import org.dom4j.io.XMLWriter;   
      
    public class XmlUtil {   
        private SAXReader reader;   
        private Document document;   
        private File xmlFile;   
        private XMLWriter writer;    
      
        /*初始化saxreader,并读取xml文件  
         */  
        public XmlUtil(String fileName) throws Exception {   
            xmlFile = new File(fileName);   
            reader = new SAXReader();   
            document = reader.read(xmlFile);   
        }   
        /** 
         * @param path 节点的全路径 /drawpie/pie/pies
         * @param name 新增节点的名称
         * @param content 节点的内容
         */
        public void addNode(String path,String name,String content,Vector<NodeAttri> attributes){          
        	Element  parent =(Element)document.selectSingleNode(path);  
        	Element addnode=parent.addElement(name);
        	addnode.addText(content);
        	if(attributes!=null){
        		for(int i=0;i<attributes.size();i++){
        			NodeAttri aa=attributes.get(i);
        			addnode.addAttribute(aa.att,aa.value);
        		}
        	}
        	System.out.println("新增节点成功");
        	System.out.println(document.asXML());
        }   
        /**
         * @param removeNodePath 从根节点开始的将要删除节点的路径 /drawpie/pie/pies (将要删除pies节点)
         */
        public void removeNode(String removeNodePath){     
        		Element  removeElement =(Element)document.selectSingleNode(removeNodePath);  
                removeElement.getParent().remove(removeElement); 
        }
        /**
         * @return 
         * 将修改后的xml保存
         */
        public boolean save(){
        	try {   
                writer = new XMLWriter(new FileOutputStream(xmlFile));   
                writer.write(document);   
                writer.close();   
                return true;
            } catch (Exception e) {     
                e.printStackTrace();    
                return false;   
            }   
        }
    }
    
    >

  • 相关阅读:
    leetcode : 3 sum
    leetcode : Merge two sorted lists
    算法:海量数据问题
    计算机基础:数据库
    计算机基础:Linux
    Java:JVM
    Java:Basic/集合框架/多线程
    Java:面试题
    框架:SSM整合
    LeetCode: Tags-[Bit Manipulation]
  • 原文地址:https://www.cnblogs.com/lan0725/p/1874010.html
Copyright © 2020-2023  润新知