亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

如何把常用格式數據轉換成XML文檔

2024-09-05 20:55:15
字體:
來源:轉載
供稿:網友

  我們常常會碰到需要處理以各種格式(從以逗號或者制表符做分隔符的文件到更負載的格式)保存或者傳輸的數據的情況,對每一種格式你都需要對應的解析器(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文檔,你可以進一步處理這個文檔?,F在,由于數據是按眾所周知的樹狀結構來組織的,因此處理它非常簡單。例如,你可以把這個文檔送交給第三方,只要第三方知道該文檔的文檔類型定義(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文檔。當你需要處理各種格式的數據時,采納上述技術或許就就是一個好的解決方案,從而節省了你的寶貴時間并減少了出錯的可能性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美制服中文字幕| 国产综合在线观看视频| 国产精品天天狠天天看| 精品国产福利在线| 亚洲成人a**站| 国产精品久久久久久久久久新婚| 在线视频欧美日韩| 日韩精品在线免费观看| 一区二区三区精品99久久| 欧美精品久久久久久久| 北条麻妃99精品青青久久| 这里精品视频免费| 欧美亚洲第一区| 日韩性xxxx爱| 免费av在线一区| 日韩亚洲欧美中文高清在线| 欧美片一区二区三区| 亚洲欧美国产精品久久久久久久| 丝袜美腿精品国产二区| 精品国产乱码久久久久久婷婷| 久久久久久久久综合| 亚洲2020天天堂在线观看| 这里只有精品视频在线| 国产精品av免费在线观看| 亚洲图片制服诱惑| 午夜剧场成人观在线视频免费观看| 亚洲91精品在线观看| 国产精品美女主播| 亚洲天堂av电影| 超碰精品一区二区三区乱码| 国产精品久久网| 国产日韩精品入口| 日韩最新av在线| 欧美丰满老妇厨房牲生活| 在线观看精品自拍私拍| 日韩免费av片在线观看| 91国语精品自产拍在线观看性色| 欧美裸体男粗大视频在线观看| 亚洲精品国产精品国产自| 欧美另类极品videosbestfree| 欧美视频专区一二在线观看| 视频在线一区二区| 97在线观看视频| 日韩美女在线观看一区| 国产男女猛烈无遮挡91| 奇米四色中文综合久久| 欧美黑人巨大xxx极品| 91免费高清视频| 久久精品青青大伊人av| 欧美一级黑人aaaaaaa做受| 欧美日韩一区二区在线播放| 亚洲免费一级电影| 久久理论片午夜琪琪电影网| 一区二区日韩精品| 日韩一区二区久久久| 欧美性猛交xxxx免费看久久久| 亚洲国产欧美日韩精品| 国产精品吊钟奶在线| 日韩av观看网址| 九九热这里只有在线精品视| 国产一区二区日韩精品欧美精品| 国产精品网站入口| 精品国产欧美一区二区三区成人| 日韩欧美中文字幕在线播放| 国产精品免费福利| 欧美日韩另类字幕中文| 亚洲国产一区二区三区在线观看| 国产视频精品免费播放| 精品视频在线播放色网色视频| 精品国产一区二区在线| 亚洲精品国精品久久99热| 欧美电影在线播放| 欧美贵妇videos办公室| 日韩av免费在线播放| 夜夜嗨av一区二区三区四区| 久久免费视频网| 日韩激情av在线播放| 1769国产精品| 久久精品国产96久久久香蕉| 欧美日韩性视频在线| 日本一区二三区好的精华液| 日av在线播放中文不卡| 亚洲国模精品私拍| 国产欧美va欧美va香蕉在| 久久久久久久一区二区| 欧美精品久久一区二区| xx视频.9999.com| 国产精品一二三在线| 欧美日韩亚洲国产一区| 成人免费视频a| 国产精品九九久久久久久久| 国产ts人妖一区二区三区| 久久福利网址导航| 91九色视频在线| 国产精品白丝av嫩草影院| 亚洲国产成人91精品| 黄色成人在线免费| 欧美一区深夜视频| 黄网动漫久久久| 91精品久久久久久久久久另类| 色琪琪综合男人的天堂aⅴ视频| 欧美日韩中文字幕日韩欧美| 国产成人精品久久亚洲高清不卡| 精品色蜜蜜精品视频在线观看| 欧美成人免费va影院高清| xxx欧美精品| 国产亚洲综合久久| 成人欧美一区二区三区黑人| 久久91亚洲精品中文字幕| 成人免费观看网址| 69影院欧美专区视频| 国自在线精品视频| 亚洲乱亚洲乱妇无码| 日韩二区三区在线| 国内精品国产三级国产在线专| 亲子乱一区二区三区电影| 久久久精品美女| 欧美日韩精品二区| 国产成人精品网站| 亚洲性日韩精品一区二区| 成人黄色av免费在线观看| 国产精品视频永久免费播放| 日韩av一区二区在线观看| 成人在线小视频| 国产日韩欧美黄色| 久久久亚洲影院| 69久久夜色精品国产69乱青草| 欧美日韩国产一中文字不卡| 欧美日本精品在线| 91精品久久久久久久久久入口| 2019国产精品自在线拍国产不卡| 亚洲欧美激情另类校园| 日韩av片电影专区| 中文字幕日韩在线视频| 久久手机精品视频| 久久精品最新地址| 高清一区二区三区四区五区| 成人午夜高潮视频| 国产日韩中文在线| 久久久久久国产精品久久| 国产视频久久久久| 国产精品美女在线观看| 国产精品美女av| 日韩黄色在线免费观看| 久久精品99无色码中文字幕| 欧美激情视频一区二区| 久久精品国产免费观看| 97精品久久久中文字幕免费| 亚洲jizzjizz日本少妇| 毛片精品免费在线观看| 欧美理论电影在线观看| 久久久999成人| 欧美理论片在线观看| 55夜色66夜色国产精品视频| 在线播放日韩精品| 日韩在线观看免费全集电视剧网站| 在线观看不卡av| 91香蕉嫩草影院入口| 日日摸夜夜添一区| 亚洲一级黄色av| 秋霞成人午夜鲁丝一区二区三区| 亚洲欧美视频在线| 日本精品视频在线播放| 亚洲欧美日韩中文在线制服|