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");