-
如果要頻繁修改選擇DOM方式,否則選擇SAX(速率較快)。 假設我現在要生成一個xml。讓它去存儲書籍信息。首先寫根節點bookstore,然后添加第一本書,然后添加第二本書,這時候發現第一本書中有某一個內容忘記添加了,想回去進行修改或增加。這時候我們發現SAX解析是無法做到這一點的,因為SAX解析是基于事件的?;谑录哪P湍兀涯骋粋€標簽走完了之后,它是不能走回頭路的,它沒有狀態性可言。所以在使用DOM還是SAX進行選擇時,要考慮到你是不是要對生成的模型進行頻繁的修改。如果不是呢,建議選用SAX,因為SAX的性能也是非常高的。查看全部
-
JDOM設置XML文本的格式: Format fromat=Format.getCompactFormat(); format.setIndent(""); fromat.setEncodeing("GBK"); XMLOutputter outputer=new XMLOutputter(format);查看全部
-
JDOM生成XML不會轉義的方法: Element title = new Element("title"); //title.setText("國內最新新聞"); CDATA cdata = new CDATA("<!上海移動互聯網產業促進中心正式揭牌>"); title.addContent(cdata); channel.addContent(title);查看全部
-
JDOM 生成 XML 根節點 //1.生成一個根節點 Element rss = new Element("rss"); //2.為節點添加屬性 rss.setAttribute("version", "2.0"); //3.生成一個document對象 Document document = new Document(rss); //4.創建XMLOutputter的對象 XMLOutputter outputer = new XMLOutputter(format); //5.利用outputer將document對象轉換成xml文檔 outputer.output(document, new FileOutputStream(new File("rssnews.xml")));查看全部
-
處理轉義字符: 在寫XML文件時有一些符號是轉義字符,會默認進行轉義操作,從而不會直接顯示原字符。 人為設置是否轉義的方法: 在生成XML文件時進行設置: writer.setEscapeText(boolean);//默認值是false,代表轉義查看全部
-
使用DOM4J生成XML文件中節點以及節點內容的步驟 1,使用根節點對象得到子節點對象 Element ele1 = ele.addElement("String"); 2,設置子節點文本內容 ele1.setText("String"); 3,設置生成的XML文檔的格式 OutputFormat format = OutputFormat.creatPrettyPrint(); 這個format對象默認為標準格式,需要其他格式可以調用該對象的其他方法如: format.setEncoding("GBK"); 4,將設置同步到XML文檔 Writer write = new Writer(new FileOutputStream(file),format);查看全部
-
使用DOM4J創建XML文件中rss根節點步驟 1,創建Document對象,代表著整個XML文檔 Document do = DocumentHelper.createDocument(); 2,創建根節點rss Element rss = do.addElement("rss"); 3,向rss根節點中添加version屬性 rss.addAttribute("version","2.0"); 4,創建XML文檔的輸出流 File file = new File("xxx"); XMLWriter writer = new XMLWriter(new FileOutputStream(file)); 5,將程序所寫的XML文檔內容與輸出流聯系起來 writer.write(do); 6,關閉資源 writer.close();查看全部
-
通過SAX生成XML文件的節點步驟<br> 先生成外圍節點在外圍節點的startElement和endElement中間生成子節點<br> 分兩種情況:<br> 1,有屬性的節點<br> (1)創建屬性對象,并設置屬性名以及屬性值<br> AttributesImpl ai =new AttributesImpl();<br> ai.addAttribute(null,null,name,null,value);<br> (2)創建節點<br> handler.startElement(null,null,name,ai)<br> (3)添加節點內容(若無內容則不用進行這一步)<br> handler.characters(String.toCharArray(),int,int);<br> (4)結束節點<br> handler.endElement(null,null,name);<br> 2,無屬性的節點<br> (1)清空屬性對象<br> ai.clear();<br> (2)創建節點<br> handler.startElement(null,null,name,ai)<br> (3)添加節點內容(若無內容則不用進行這一步)<br> handler.characters(String.toCharArray(),int,int);<br> (4)結束節點<br> handler.endElement(null,null,name);查看全部
-
使用SAX生成XML文件中的節點以及節點屬性 1,打開Document handler.startDocument(); 2,創建屬性對象 AttributesiImpl ai = new AttributesImpl(); 3,創建無屬性節點 handler.startElement("","","bookStore","ai"); 4,創建有屬性節點 ai.clear();(清除原有屬性內容) ai.addAttribute("","","id","","1");(設置新的屬性內容) handler.startElement("","","book","ai"); 5,結束節點 handler.endElement(); 6,結束Document handler.endDocument();查看全部
-
public void createXML() { // 生成xml // 1.創建一個TransformerFactory類的對象 SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory .newInstance(); try { // 2.通過SAXTransformerFactory對象創建一個TransformerHandler對象 TransformerHandler handler = tff.newTransformerHandler(); // 3.通過handler對象創建一個Transformer對象 Transformer tr = handler.getTransformer(); // 4.通過Transformer對象對生成的xml文件進行設置 //查看全部
-
standalone表示該xml是不是獨立的,如果是yes,則表示這個XML文檔時獨立的,不能引用外部的DTD規范文件;如果是no,則該XML文檔不是獨立的,表示可以引用外部的DTD規范文檔。 <?xml version="1.0" encoding="utf-8" standalone="yes/no"?> 生成XML文件子節點的文本內容<br> 1,將子節點添加進DOM樹<br> Element ele2 = new Element("name");<br> ele1.append(ele2);<br> 2, 設置子節點的文本內容<br> ele2.setTextContent("String");查看全部
-
將DOM樹轉換成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"));查看全部
-
為什么說DOM易修改,SAX不易修改查看全部
-
SAX生成XML文檔: SAXTransformerFactory.newInstance().newTransformerHandler().getTransformer()查看全部
-
DOM方式創建xml文件步驟: 新建方法返回值為DpcumentBuilder的getDocumentBuilder方法: 創建createXML()方法 DocumentBuilder db=getDocumentBuilder() Document document=db.newDocument()//dom樹 Element bookstore=document.createElement("bookstore");//創建根結點 document.appendChild("bookstore")//添加根節點查看全部
舉報
0/150
提交
取消