网上关于dom4j使用的示例很多
====
涉及的重要类:Document、Element、XMLWriter、SAXReader
重要方法:DocumentHelper.createDocument();
DocumentHelper.createElement()
addElement();
====
生成xml文件(生成xml,并写入文件)
//创建一个文档模型
Document document = DocumentHelper.createDocument();
//创建元素的根节点<allocations>
document.addElement("allocations");
//获取根节点的方法
Element root = document.getRootElement();
//创建Element(节点)对象
Element queue= DocumentHelper.createElement("man").addAttribute("name","张三");
//在某个节点下添加新的节点
//方法①(例子:在root下添加)
Element queuePlacementPolicy=root.element("queuePlacementPolicy");
//方法②(例子:在root下添加)
Element name=root.addElement(name);
name.setText(value);//也可以不设置值
//方法③(例子:在root下添加)
Element user=root.addElement("user").addAttribute("name","张三").addAttribute("age","20");//也可以不添加属性(也可以添加多个属性)
//(例子:在user节点下添加)
Element maxRunningApps=user.addElement("maxRunningApps");
//设置xml输出格式:
OutputFormat format = OutputFormat.createPrettyPrint(); //转换成字符串
format.setEncoding("UTF-8");
//输出docunment到对应的文件中,out是定义的输出文件,PATH文件路径也可以是控制台等
FileWriter out=new FileWriter(PATH);//也可以是其他类型的Writer
XMLWriter writer = new XMLWriter(out, format);
writer.writer(document);
writer.close();
====
解析xml
//获取已存在的xml的document
//1、创建解析器
SAXReader reader = new SAXReader();
//2、得到document,
Document document = reader.read(path);
//获取根节点的方法
Element root = document.getRootElement();
以上,解析获取到了document和root,便可以通过增删改查继续进行生成新的document,进行操作
另外:
Document document = DocumentHelper.parseText(xxx.xml);
先把xml文件读出来,从String转成Document,就可以定位元素,修改key-value了