- XML文档
- Document对象
- 业务层
- Dao层
- 数据库层
- Bean(实体)
-
XML编程(CRUD)
-
XML解析技术
-
JAXP开发包
-
DOM方式
- DOM方式解析XML文档
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
获得一个facrory,用于产生 解析器(可以将XML文档解析成一个DOM树对象)
- DocumentBuilder builder = factory.newDocumentBuilder(); //获得 解析器
- Document document = builder.parse("src/book.xml"); //用解析器将XML文件解析成Document对象
- DOM模型
- 文档中的所有元素,按照其出现的层次关系,被解析成一个个Node对象(节点)
- Node对象
- DOM解析编程
- 添加节点
- Transformer类:将文档写入XML文件
- abstract void transform(Source xmlSource, Result outputTarget)
- 更新节点
- 删除结点
- 查找某一个节点
- 获得节点的属性及属性值
- 遍历所有节点
-
SAX方式
- Topic
- SAX方式解析XML文档
- SAXParserFactory spf = SAXParserFactory.newInstance(); //使用SAXParserFactory创建SAX解析工厂
- SAXParser sp = spf.newSAXParser(); //通过SAX解析工厂得到解析器对象
- XMLReader xmlReader = sp.getXMLReader(); //通过解析器对象得到一个XML的读取器
- xmlReader.setContentHandler(new BookParserHandler()); //设置读取器的事件处理器
- xmlReader.parse("book.xml"); //解析xml文件
-
Dom4j开发包(需导包)
-
SAX方式
- DOM4J解析XML文档
- 1.读取XML文件,获得document对象
- SAXReader reader = new SAXReader();
Document document = reader.read(new File("input.xml"));
- 2.解析XML形式的文本,得到document对象.
- String text = "<members></members>";
Document document = DocumentHelper.parseText(text);
- 3.主动创建document对象.
- Document document = DocumentHelper.createDocument();
Element root = document.addElement("members"); //创建根节点
- 节点对象
- 通过根节点间接获得所有节点
- Element root = document.getRootElement();
- 使用XPath直接获得任意节点(需导包)
- List list = document.selectNodes("//student/name"); //获得获得所有student节点下的name节点
- 将文档写入XML文件(编码问题)
- DOM方式
- XML语法
- DTD约束