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