XML——写出XML文档(XSLT+StAX)
【0】README
0.1) 本文描述部分轉(zhuǎn)自 core java volume 2 , 旨在理解 XML——寫出XML文檔(XSLT+StAX) 的基礎(chǔ)知識 ; 
 0.2) for source code, please visit https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdvanced/chapter2/generateXML/
【1】寫出文檔(使用了 XSLT-eXtensible Stylesheet Language Transformation)
1) 使用XSLT寫出XML: 把DOM 樹寫出到輸入流中, 最容易的方式是使用可擴(kuò)展的格式頁轉(zhuǎn)換(eXtensible Stylesheet Language Transformation)API; (干貨——XSLT定義) 
 2)我們把“不做任何操作”的轉(zhuǎn)換應(yīng)用與文檔,并且捕獲它的輸出。 為了將 DOCTYPE 節(jié)點納入輸出,我們還需要將 SYSTEM 和 PUBLIC 標(biāo)識符設(shè)置為輸出屬性; 
 (干貨——寫出文檔方法一,采用Transformer)
 
 3)另一種方式是使用 LSSerializer 接口, 為了獲取實例, 可以使用下面 的魔咒: 
 (干貨——寫出文檔方法二, 采用LSSerializer 接口)
- 3.1)如果需要空格和換行,可以設(shè)置下面的標(biāo)志:
 
- 3.2)然后可以很容易的將 文檔轉(zhuǎn)換為 字符串:
 
- 3.3)如果想要將輸出直接寫入到文件中, 則需要一個 LSOutput:
 
【2】使用StAX 寫 XML文檔(要知道, DOM解析器是基于SAX解析器的, DOM解析器比較復(fù)雜)
1)我們看到, 如果通過寫DOM樹的方法來產(chǎn)生 XML文件, 如果這個 DOM 樹沒有其他任何用途, 那么這種方式就不是很高效; 
 2)StAX API 是我們直接將 XML 樹寫出, 這需要從某個 OutputStream 中構(gòu)建一個XMLStreamWriter, 就像下面這樣:
- 2.1)要產(chǎn)生XML 文件頭, 需要調(diào)用
 
- 2.2)然后調(diào)用
 
- 2.3)添加屬性調(diào)用
 
3)現(xiàn)在,可以通過再次調(diào)用 writeStartElement 添加新的子節(jié)點, 或者用下面 的語句寫出字符:
writer.writerCharacters(text);- 3.1)再添加完所有子節(jié)點后, 調(diào)用
 
- 3.2)要寫出沒有子節(jié)點的元素,可以使用下面的調(diào)用:
 
- 3.3)最后, 在文檔的結(jié)尾,調(diào)用
 
(for source code , please visit https://github.com/pacosonTang/core-java-volume/tree/master/coreJavaAdvanced/chapter2/StAXParser) 
 for detailed StAX, please visit  http://blog.csdn.net/pacosonswjtu/article/details/50569728 
 (相關(guān)文章轉(zhuǎn)自(截圖如下): http://www.journaldev.com/1240/java-xml-tutorial) 
 
總結(jié)
以上是生活随笔為你收集整理的XML——写出XML文档(XSLT+StAX)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 苹果7电池怎么保养
 - 下一篇: 草泥马是什么 原来是这种动物