1 回答

TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊
把數(shù)據(jù)行轉(zhuǎn)換為數(shù)據(jù)符號的實際解析過程也就是執(zhí)行g(shù)etStringArray(String read,String delim)或者parseFixedLengthMessage(String read,int[ ] colLen)方法的過程。其返回值是一個String型數(shù)組,這個數(shù)組是上述兩個方法把給定輸入進(jìn)行分解而得來的。如果數(shù)據(jù)格式不對,就會拋出一個例外并且終止解析過錯。調(diào)用setSkipError(true)方法就可以忽略例外并完成數(shù)據(jù)解析過程。調(diào)用這個方法可以防止拋出例外,但它仍允許程序向錯誤輸出流打印錯誤信息。
當(dāng)行被解析成標(biāo)記后,它們作為XML文檔的元素而加入到XML文檔之中。放入到元素之中的每一行記錄都有一個默認(rèn)的名字line,你也可以調(diào)用setDataLineName()來指定名字。每一個數(shù)據(jù)記錄都是一個列元素,列元素的名字由相應(yīng)的類構(gòu)造函數(shù)提供,子元素加到行元素之中。
在輸入數(shù)據(jù)完全讀取之后,你就得到了一個有效的XML文檔,你可以進(jìn)一步處理這個文檔?,F(xiàn)在,由于數(shù)據(jù)是按眾所周知的樹狀結(jié)構(gòu)來組織的,因此處理它非常簡單。例如,你可以把這個文檔送交給第三方,只要第三方知道該文檔的文檔類型定義(Document Type Definition ,DTD),那么他就可以很容易的處理文檔了。你還可以調(diào)用writeDocument(Document doc,OutputStream osOut)方法來保存這個文檔。代碼清單D就給出一個把XML文檔保存到一個文件中的例子。
用XSLT轉(zhuǎn)換來查看數(shù)據(jù)
你還可以把XML數(shù)據(jù)轉(zhuǎn)換成其它格式,并用不同的視圖來表示其內(nèi)容。最簡單的方法就是使用XSLT轉(zhuǎn)換,它提供了一種強(qiáng)大的面向樹的轉(zhuǎn)換語言實現(xiàn),可以把使用一種詞匯表的XML實例轉(zhuǎn)換成簡單文本、HTML或者使用其它詞匯表的XML。
對給定的XML輸入,你可以用XSLT語言來創(chuàng)建你所期望的輸出。例如,通過執(zhí)行transformData(InputStream xmlIn,InputStream xslIn,OutputStream transfOut),你就可以把XML數(shù)據(jù)轉(zhuǎn)換成一個HTML文檔。代碼清單E提供了XSLT轉(zhuǎn)換的一個例子,而清單F給出了地址簿條目的HTML視圖。
簡化對數(shù)據(jù)的管理
在本文中,我們通過分析PlainTextToXmlFormatter類而學(xué)會了如何把常用格式數(shù)據(jù)轉(zhuǎn)換成XML文檔。我們還看到了如何借助于XSLT轉(zhuǎn)換而用不同的視圖來表示XML文檔。當(dāng)你需要處理各種格式的數(shù)據(jù)時,采納上述技術(shù)或許就就是一個好的解決方案,從而節(jié)省了你的寶貴時間并減少了出錯的可能性。
- 1 回答
- 0 關(guān)注
- 201 瀏覽
添加回答
舉報