DOM和SAX生成xml文件 JDOM和DOM4J会形成一个全新的RSS文件
2-1 创建根节点和book节点属性
1,前两个步骤和解析XML文件一致,都是获取DocumentBuilder对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.getDocumentBuilder();
2,通过DocumentBuilder的newDocument方法获取Document对象,代表着要生成的DOM树
Document do = db.newDocument();
3,将根节点添加进DOM树
Element ele = do.createElement("bookStore");
document.appendChild(ele);
4,将子节点添加进DOM树
Element ele1 = document.createElement("book");
ele.appendChild(ele1)
5,将子节点的属性及属性值添加进DOM树
ele1.setAttribute("id","1");
2-2 创建 XML 文件
1,创建TransformerFactory对象,Factory为工厂类,不能直接new对象,通过newInstance获取对象
TransformerFactory tff = TransformerFactory.newInstance();
2,通过tff获取Transfomer对象
Transformer tf = tff.newTransformer();
3,指定换行格式
tf.setOutputProperty(OutputKeys.INDENT,"yes");
4,用DOM树生成XML文件,将DOM树以及输出流作为参数传入
tf.transform(new DOMSource(Document do),new StreamResult(new File("books1.xml"));
2-3 生成节点间的文本
- standalone : 用来表示该文件是否呼叫其它外部的文件。若值是 ”yes” 表示没有呼叫外部文件,即说明当前的xml文件是没有DTD和Schema作为它的相关文档,若值是 ”no” 则表示有呼叫外部文件。默认值是 “yes”。
- DTD:文档类型定义(Document Type Definition)是一套关于标记符的语法规则。
1,将子节点添加进DOM树
Element ele2 = new Element("name");
ele1.append(ele2);
2, 设置子节点的文本内容
ele2.setTextContent("String");