-
使用SAX生成XML文件中的節(jié)點以及節(jié)點屬性 1,打開Document handler.startDocument(); 2,創(chuàng)建屬性對象 AttributesiImpl ai = new AttributesImpl(); 3,創(chuàng)建無屬性節(jié)點 handler.startElement("","","bookStore","ai"); 4,創(chuàng)建有屬性節(jié)點 ai.clear();(清除原有屬性內(nèi)容) ai.addAttribute("","","id","","1");(設置新的屬性內(nèi)容) handler.startElement("","","book","ai"); 5,結束節(jié)點 handler.endElement(); 6,結束Document handler.endDocument();查看全部
-
使用SAX生成XML文件中的節(jié)點以及節(jié)點屬性 1,打開Document handler.startDocument(); 2,創(chuàng)建屬性對象 AttributesiImpl ai = new AttributesImpl(); 3,創(chuàng)建無屬性節(jié)點 handler.startElement("","","bookStore","ai"); 4,創(chuàng)建有屬性節(jié)點 ai.clear();(清除原有屬性內(nèi)容) ai.addAttribute("","","id","","1");(設置新的屬性內(nèi)容) handler.startElement("","","book","ai"); 5,結束節(jié)點 handler.endElement(); 6,結束Document handler.endDocument();查看全部
-
public void createXML() { // 生成xml // 1.創(chuàng)建一個TransformerFactory類的對象 SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory .newInstance(); try { // 2.通過SAXTransformerFactory對象創(chuàng)建一個TransformerHandler對象 TransformerHandler handler = tff.newTransformerHandler(); // 3.通過handler對象創(chuàng)建一個Transformer對象 Transformer tr = handler.getTransformer(); // 4.通過Transformer對象對生成的xml文件進行設置 // 設置xml的編碼 tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); // 設置xml的“是否換行” tr.setOutputProperty(OutputKeys.INDENT, "yes"); // 5.創(chuàng)建一個Result對象 File f = new File("src/res/newbooks.xml"); if (!f.exists()) { f.createNewFile(); } // 6.創(chuàng)建Result對象,并且使其與handler關聯(lián) Result result = new StreamResult(new FileOutputStream(f)); handler.setResult(result);查看全部
-
standalone表示該xml是不是獨立的,如果是yes,則表示這個XML文檔時獨立的,不能引用外部的DTD規(guī)范文件;如果是no,則該XML文檔不是獨立的,表示可以引用外部的DTD規(guī)范文檔。 <?xml version="1.0" encoding="utf-8" standalone="yes/no"?> 生成XML文件子節(jié)點的文本內(nèi)容<br> 1,將子節(jié)點添加進DOM樹<br> Element ele2 = new Element("name");<br> ele1.append(ele2);<br> 2, 設置子節(jié)點的文本內(nèi)容<br> ele2.setTextContent("String");查看全部
-
JDOM設置XML文本的格式和編碼: //方法一: Format fromat=Format.getCompactFormat(); format.setIndent(""); fromat.setEncodeing("GBK"); XMLOutputter outputter=new XMLOutputter(format); //方法二: Format format=Format.getPrettyFormat(); format.setEncoding("GBK");查看全部
-
生成xml的四種方式的性能對比 測試結果: 性能測試: DOM: 84 SAX: 5 JDOM: 63 DOM4J: 53 DOM/SAX官方自帶: DOM生成DOM樹加載到內(nèi)存,方便修改,性能慢。 SAX性能最高,但是不能返回修改便簽中的內(nèi)容 DOM4J相對綜合最好,應用廣泛查看全部
-
如果要頻繁修改選擇DOM方式,否則選擇SAX(速率較快)。 假設我現(xiàn)在要生成一個xml。讓它去存儲書籍信息。首先寫根節(jié)點bookstore,然后添加第一本書,然后添加第二本書,這時候發(fā)現(xiàn)第一本書中有某一個內(nèi)容忘記添加了,想回去進行修改或增加。這時候我們發(fā)現(xiàn)SAX解析是無法做到這一點的,因為SAX解析是基于事件的?;谑录哪P湍兀涯骋粋€標簽走完了之后,它是不能走回頭路的,它沒有狀態(tài)性可言。所以在使用DOM還是SAX進行選擇時,要考慮到你是不是要對生成的模型進行頻繁的修改。如果不是呢,建議選用SAX,因為SAX的性能也是非常高的。查看全部
-
//JDOM方式生成XML文件設置文件格式 //創(chuàng)建Format對象 Format format = Format.getPrettyFormat(); //設置換行以及編碼 format.setIndent("");//若括號中為"\n"則會換兩行 format.setEncoding("UTF-8"); //4.創(chuàng)建XMLOutputter的對象,將Format對象作為參數(shù)傳進輸出流創(chuàng)建方法中 XMLOutputter outputter = new XMLOutputter(format);查看全部
-
xml對CDATA進行轉(zhuǎn)義 Element title = new Element("title"); CDATA cdata = new CDATA("上海移動互聯(lián)網(wǎng)產(chǎn)業(yè)促進中心正式揭牌"); title.addContent(cdata);查看全部
-
通過JDOM方式生成XML文件步驟: private void createXML() { //1.生成一個根節(jié)點 Element rss = new Element("rss"); //2.為節(jié)點添加屬性 rss.setAttribute("version", "2.0"); //3.生成一個document對象 Document document = new Document(rss); //4.創(chuàng)建XMLOutputter的對象 XMLOutputter outputter = new XMLOutputter(); try { outputter.output(document,new FileOutputStream(new File("rssnews.xml"))); } catch (IOException e) { e.printStackTrace(); }查看全部
-
//設置生成xml的格式,使節(jié)點換行并縮進 OutputFormat format = OutputFormat.createPrettyPrint(); //設置是否對"<>"進行轉(zhuǎn)義,默認值是true,代表轉(zhuǎn)義 writer.setEscapeText(false);查看全部
-
//4.生成子節(jié)點及節(jié)點內(nèi)容 Element channel = rss.addElement("channel"); Element title = channel.addElement("title"); title.setText("國內(nèi)最新新聞"); //5.設置生成xml的格式 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); //6.生成xml文件 File file = new File("rssnews.xml"); try { XMLWriter writer = new XMLWriter(new FileOutputStream(file),format); writer.write(document); writer.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }查看全部
-
使用DOM4J創(chuàng)建XML文件中rss根節(jié)點步驟 1,創(chuàng)建Document對象,代表著整個XML文檔 Document do = DocumentHelper.createDocument(); 2,創(chuàng)建根節(jié)點rss Element rss = do.addElement("rss"); 3,向rss根節(jié)點中添加version屬性 rss.addAttribute("version","2.0"); 4,創(chuàng)建XML文檔的輸出流 File file = new File("xxx"); XMLWriter writer = new XMLWriter(new FileOutputStream(file)); 5,將程序所寫的XML文檔內(nèi)容與輸出流聯(lián)系起來 writer.write(do); 6,關閉資源 writer.close();查看全部
-
RSS通常是用來描述和同步網(wǎng)站內(nèi)容的一種格式,本質(zhì)是xml xml通常的用途就是可以共享數(shù)據(jù) rss文件格式:<xml version = 版本號 encoding = 編碼> <rss version = 版本號> <channel>內(nèi)容</channel> </rss> </xml>查看全部
-
通過SAX生成XML文件的節(jié)點步驟<br> 先生成外圍節(jié)點在外圍節(jié)點的startElement和endElement中間生成子節(jié)點<br> 分兩種情況:<br> 1,有屬性的節(jié)點<br> (1)創(chuàng)建屬性對象,并設置屬性名以及屬性值<br> AttributesImpl ai =new AttributesImpl();<br> ai.addAttribute(null,null,name,null,value);<br> (2)創(chuàng)建節(jié)點<br> handler.startElement(null,null,name,ai)<br> (3)添加節(jié)點內(nèi)容(若無內(nèi)容則不用進行這一步)<br> handler.characters(String.toCharArray(),int,int);<br> (4)結束節(jié)點<br> handler.endElement(null,null,name);<br> 2,無屬性的節(jié)點<br> (1)清空屬性對象<br> ai.clear();<br> (2)創(chuàng)建節(jié)點<br> handler.startElement(null,null,name,ai)<br> (3)添加節(jié)點內(nèi)容(若無內(nèi)容則不用進行這一步)<br> handler.characters(String.toCharArray(),int,int);<br> (4)結束節(jié)點<br> handler.endElement(null,null,name);查看全部
舉報
0/150
提交
取消