JavaWeb学习笔记——dom4j

public class Dom4j_test01 {
	public static void main(String[] args) throws Exception {
		SAXReader saxreader = new SAXReader();
		Document document=saxreader.read("src/p1.xml");
		Element element =document.getRootElement();
		Element p1 = element.element("p1");
		Element sex1=p1.addElement("sex");
		sex1.setText("nan");
		
		
		XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/p1.xml"),OutputFormat.createPrettyPrint());
		xmlWriter.write(document);
		xmlWriter.close();
		
		
		
	}
}

1、解析器2、解析文件生成document3、得到根节点

4、获得第一个p1标签5、在此标签下增加sex标签6、加内容

回写:7、xmlWriter8、写进document9、关闭流

private static void addSchool() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("src/p1.xml");
		
		Element root = document.getRootElement();
		Element p1 = root.element("p1");
		List<Element> list = p1.elements();
		
		Element school = DocumentHelper.createElement("school");
		school.setText("hnnu");
		list.add(1,school);
		
		XMLWriter writer = new XMLWriter(new FileOutputStream("src/p1.xml"), OutputFormat.createPrettyPrint());
		writer.write(document);
		writer.close();
		
	}

1、解析器2、解析文件生成document3、得到根节点

4、得到第一个p1标签5、得到第一个标签下的标签列表6、DocumentHelper创建一个新标签

7、新标签添加文本内容8、列表根据index添加新标签

9回写

获取标签属性值:attributeValue(属性名称)

使用dom4j支持xpath的操作

/AAA/DDD/BBB
//BBB
//*
/AAA/BBB[1]
/AAA/BBB[last()]
//BBB[@id]
//BBB[@id='b1']
//BBB[@name='bbb']

默认情况下不支持,导入jaxen-1.1-beta-6.jar

selectNodes

selectSingleNode

private static void xpathTest() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("src/p1.xml");
		List<Node> list=document.selectNodes("//name");
		for (Node node : list) {
			String s = node.getText();
			System.out.println(s);
		}
	}
private static void firstName() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("src/p1.xml");
		Node name=document.selectSingleNode("//p1[@id='aaa']/name");
		String s =name.getText();
		System.out.println(s);
		
		
	}

 

猜你喜欢

转载自blog.csdn.net/TangXiaoPang/article/details/86664186