*jaxp是javese的一部分
*在javax.xml.parsers包中 -针对dom两个类:DocumentBuilder DoucumentBuilderFactory -针对sax两个类:SAXParser SAXParserFactory1 使用jaxp实现查询操作查询xml中所有的name标签值
zhangsan 20 lisi 30
package cn.jaxptest;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.NodeList;/** * 文档注释 * * @author eczhang * */public class TeatJaxp { public static void main(String[] args) throws Exception { // 查询所有name元素的值 /* * 1 创建解析器工厂 * 2 创建解析器 * 3 解析xml返回document * 4得到所有的name元素 * alt+/代码提示 ctrl+shift+F * 代码格式调整 */ DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = builderFactory.newDocumentBuilder(); // builder.parse("src/person.xml"); // builder.parse("src/person.xml"); org.w3c.dom.Document document = builder.parse("src/person.xml"); NodeList list = document.getElementsByTagName("name"); for (int i = 0; i < list.getLength(); i++) { org.w3c.dom.Node name = list.item(i); String string = name.getTextContent(); System.out.println(string); } }}
2 在第一个P1末尾添加<grade>3年级</grade>
/* * 1 创建解析器工厂 * 2 创建解析器 * 3 解析xml返回document * 4得到第一个P1 * 5创建grade标签 * 6创建文本createTextNode * 7把文本添加到grade下面appendChild * 8把grade添加到第一个P1下 * 9回写xml (将内存中的xml写入到文件中) */