91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

將數據轉換成XML格式的好處有哪些

發布時間:2021-01-27 10:33:37 來源:億速云 閱讀:177 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關將數據轉換成XML格式的好處有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

                                                       我們常常會碰到需要處理以各種格式(從以逗號或者制表符做分隔符的文件到更負載的格式)保存或者傳輸的數據的情況,對每一種格式你都需要對應的解析器(parser)。這一缺點減緩了開發進度,而且可能會導致錯誤的發生。一個解決方案就是把常用格式的數據轉化成xml文檔,然后對它進行保存、處理或者轉換成其它格式。

一個實例

現在已經有好多種實現在軟件內部或者軟件之間進行數據保存、導出、導入以及傳輸功能的數據格式。最常見的是定界格式(delimited format),如逗號或者制表符分隔數據格式以及定長數據格式。假設我們有一個地址簿程序,該程序提供把數據導出成逗號分隔以及固定長度這兩種格式的功能。

在逗號分隔格式中,用逗號來分隔同一個數據記錄中的不同字段,如清單A所示。而在固定長度數據格式中,記錄的每一個字段都應該有一個標準長度。清單B給出了一個固定長度格式的地址簿。

創建XML文檔

現在,讓我們解析輸入數據并把它轉換成XML文檔。XML文檔(即org.w3c.dom.Document)是全部文檔對象模型(DOM)的原始數據類型,并且它提供了對文檔數據的訪問。

你可以用執行buildDocument(InputStream is)方法來創建與你的數據對應的文檔,如代碼清單C所示。該方法逐行讀取輸入數據流,并根據給定格進行來逐行分析。

如果你想解析分界格式數據,你需要創建構造函數為PlainTextToXmlFormatter(String[ ] colName,String delim)的類的實例,其分界符可以是任何字符串。在固定長度格式的情況下,你應該使用第二種構造函數PlainTextToXmlFormatter(String[ ] colName,int[ ] colLen),它的一個參數為字段長度數組。在我們所給的地址簿例子中,各字段的長度分別為10、10、30以及10個字符。參數colName是保存了目標數據記錄的名字的數組,在我們給出的這個例子中,名字分別為名(firstName)、姓(lastName)、email以及電話號碼(phone)。

把數據行轉換為數據符號的實際解析過程也就是執行getStringArray(String read,String delim)或者parseFixedLengthMessage(String read,int[ ] colLen)方法的過程。其返回值是一個String型數組,這個數組是上述兩個方法把給定輸入進行分解而得來的。如果數據格式不對,就會拋出一個例外并且終止解析過錯。調用setSkipError(true)方法就可以忽略例外并完成數據解析過程。調用這個方法可以防止拋出例外,但它仍允許程序向錯誤輸出流打印錯誤信息。

當行被解析成標記后,它們作為XML文檔的元素而加入到XML文檔之中。放入到元素之中的每一行記錄都有一個默認的名字line,你也可以調用setDataLineName()來指定名字。每一個數據記錄都是一個列元素,列元素的名字由相應的類構造函數提供,子元素加到行元素之中。

在輸入數據完全讀取之后,你就得到了一個有效的XML文檔,你可以進一步處理這個文檔。現在,由于數據是按眾所周知的樹狀結構來組織的,因此處理它非常簡單。例如,你可以把這個文檔送交給第三方,只要第三方知道該文檔的文檔類型定義(Document Type Definition ,DTD),那么他就可以很容易的處理文檔了。你還可以調用writeDocument(Document doc,OutputStream osOut)方法來保存這個文檔。代碼清單D就給出一個把XML文檔保存到一個文件中的例子。

用XSLT轉換來查看數據

你還可以把XML數據轉換成其它格式,并用不同的視圖來表示其內容。最簡單的方法就是使用XSLT轉換,它提供了一種強大的面向樹的轉換語言實現,可以把使用一種詞匯表的XML實例轉換成簡單文本、HTML或者使用其它詞匯表的XML。

對給定的XML輸入,你可以用XSLT語言來創建你所期望的輸出。例如,通過執行transformData(InputStream xmlIn,InputStream xslIn,OutputStream transfOut),你就可以把XML數據轉換成一個HTML文檔。代碼清單E提供了XSLT轉換的一個例子,而清單F給出了地址簿條目的HTML視圖。

簡化對數據的管理

在本文中,我們通過分析PlainTextToXmlFormatter類而學會了如何把常用格式數據轉換成XML文檔。我們還看到了如何借助于XSLT轉換而用不同的視圖來表示XML文檔。當你需要處理各種格式的數據時,采納上述技術或許就就是一個好的解決方案,從而節省了你的寶貴時間并減少了出錯的可能性。

關于“將數據轉換成XML格式的好處有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

xml
AI

六枝特区| 长治市| 贡觉县| 沙湾县| 连州市| 梅州市| 宜昌市| 黄浦区| 台东县| 萨迦县| 汝城县| 福安市| 宝兴县| 扎赉特旗| 通山县| 林甸县| 腾冲县| 桦川县| 鄂温| 利津县| 达孜县| 竹北市| 天台县| 新泰市| 盐亭县| 云安县| 丹巴县| 长沙市| 桂平市| 福清市| 友谊县| 阿图什市| 台北市| 剑川县| 柘城县| 峨眉山市| 鄢陵县| 土默特右旗| 渭源县| 新密市| 思南县|