Web开发中,常常会见到很多接口以xml数据传输,所以记录下Dom4j解析xml数据的方法以备不时之需。
- DOM4j中,获得Document对象的方式有三种:
1.读取XML文件,获得document对象
SAXReader reader = new SAXReader();
Document document = reader.read(new File("test.xml"));
2.解析XML形式的文本,得到document对象
String text = "<root></root>";
Document document = DocumentHelper.parseText(text);
3.主动创建document对象
Document document = DocumentHelper.createDocument();
//创建根节点
Element root = document.addElement("csdn");
- 读取xml文件
String fileName = "*****";
InputStream input = new FileInputStream(fileName);
SAXReader reader = new SAXReader();
//Document 已经获取到Xml文件
Document doc = reader.read(input);
- 操作Document文档
//获取根节点对象
Element root = document.getRootElement();
//获取某个节点的下的子节点,例如根节点下
//子节点名称唯一
Element element = root.element(“节点名称");
//子节点名称不唯一
List<Element> lists = root.elements("ps");
//取得节点的名称
String name= node.getName();
//取得节点的文字
String text = node.getText();
//对某节点下的所有子节点进行遍历
for(Iterator it=root.elementIterator();it.hasNext();){
Element element = (Element) it.next();
// do something
}
//在某节点下添加子节点
Element root= newElm.addElement("ps");
//设置节点文字
elm.setText("Hello");
//删除某节点
//ps是待删除的节点,root是其父节点
root.remove(ps);