添加节点
public static void main(String[] args) throws Exception {
/*
* 1、解析xml文档,将xml文档转换Dom4j树 2、利用dom4j树提供的导航方法找到需要修改的节点
* 3、修改指定的节点,或者在指定的节点添加新的节点 4、写入到dom4j树document中,写入修改后的xml文件中
*/
// 创建解析器对象
SAXReader saxReader = new SAXReader();
// 设置过滤空格
saxReader.setStripWhitespaceText(true);
// 装载xml文件并解析
Document doc = saxReader.read(new File("src\\book1.xml"));
// 获取根元素名称
Element root = doc.getRootElement();
//创建一个地址元素
Element address = DocumentHelper.createElement("address");
address.setText("保定");
//获取根元素的子元素的集合
List list = root.elements("book");
Element book2 = (Element) list.get(2);
List list2 = book2.elements();
list2.add(2, address);
OutputFormat format = new OutputFormat(" ", true, "UTF-8");
XMLWriter xw = new XMLWriter(new FileWriter("src\\book1.xml"), format);
xw.write(doc);
xw.close();
}
}
解析xml文档中的元素名称及属性名称
public static void main(String[] args) throws Exception{
//创建解析实体对象
SAXReader saxReader = new SAXReader();
//装载并解析book.xml文件
Document doc = saxReader.read(new File("src\\books.xml"));
//获取根元素
Element root = doc.getRootElement();
//打印根元素名称
System.out.println(root.getName());
//调用显示方法
display(root);
}
//属性解析方法
private static void displayAttbute(Element root) {
//获取根元素的子元素的所有属性的集合
List<Attribute> list = root.attributes();
//遍历集合
for(Attribute entity:list){
System.out.println(entity.getName()+"---"+entity.getValue());
}
}
//标签解析方法
private static void display(Element root) {
//获取根元素的所有子元素的集合
List<Element> list = root.elements();
//遍历集合
for(Element entity:list){
//打印元素的名称
System.out.println(entity.getName());
//调用解析属性的方法
displayAttbute(entity);
//如果entity元素有文本
if(entity.isTextOnly()){
//打印文本
System.out.println(entity.getText());
}else{
//调用自身
display(entity);
}
}
}
public static void main(String[] args) throws Exception {
/*
* 1、解析xml文档,将xml文档转换Dom4j树 2、利用dom4j树提供的导航方法找到需要修改的节点
* 3、修改指定的节点,或者在指定的节点添加新的节点 4、写入到dom4j树document中,写入修改后的xml文件中
*/
// 创建解析器对象
SAXReader saxReader = new SAXReader();
// 设置过滤空格
saxReader.setStripWhitespaceText(true);
// 装载xml文件并解析
Document doc = saxReader.read(new File("src\\book1.xml"));
// 获取根元素名称
Element root = doc.getRootElement();
//创建一个地址元素
Element address = DocumentHelper.createElement("address");
address.setText("保定");
//获取根元素的子元素的集合
List list = root.elements("book");
Element book2 = (Element) list.get(2);
List list2 = book2.elements();
list2.add(2, address);
OutputFormat format = new OutputFormat(" ", true, "UTF-8");
XMLWriter xw = new XMLWriter(new FileWriter("src\\book1.xml"), format);
xw.write(doc);
xw.close();
}
}
解析xml文档中的元素名称及属性名称
public static void main(String[] args) throws Exception{
//创建解析实体对象
SAXReader saxReader = new SAXReader();
//装载并解析book.xml文件
Document doc = saxReader.read(new File("src\\books.xml"));
//获取根元素
Element root = doc.getRootElement();
//打印根元素名称
System.out.println(root.getName());
//调用显示方法
display(root);
}
//属性解析方法
private static void displayAttbute(Element root) {
//获取根元素的子元素的所有属性的集合
List<Attribute> list = root.attributes();
//遍历集合
for(Attribute entity:list){
System.out.println(entity.getName()+"---"+entity.getValue());
}
}
//标签解析方法
private static void display(Element root) {
//获取根元素的所有子元素的集合
List<Element> list = root.elements();
//遍历集合
for(Element entity:list){
//打印元素的名称
System.out.println(entity.getName());
//调用解析属性的方法
displayAttbute(entity);
//如果entity元素有文本
if(entity.isTextOnly()){
//打印文本
System.out.println(entity.getText());
}else{
//调用自身
display(entity);
}
}
}