❶ xml是什麼有什麼作用
用
可擴展標記語言是一種元標記語言,即定義了用於定義其他特定領域有關語義的、結構化的標記語言,這些標記語言將文檔分成許多部件並對這些部件加以標識。XML 文檔定義方式有:文檔類型定義(DTD)和XML Schema。DTD定義了文檔的整體結構以及文檔的語法,應用廣泛並有豐富工具支持。XML Schema用於定義管理信息等更強大、更豐富的特徵。XML能夠更精確地聲明內容,方便跨越多種平台的更有意義的搜索結果。它提供了一種描述結構數據的格式,簡化了網路中數據交換和表示,使得代碼、數據和表示分離,並作為數據交換的標准格式,因此它常被稱為智能數據文檔。
XML技術已經廣泛應用於e-Learning應用系統的開發,大多數的商用e-Learning平台都支持XML標准。一些主要的網路設備製造商,如CISCO、JUNIPER等,生產的網路設備也已提供了對XML的支持,以利於今後基於XML的網路管理。
XML在e-Learning管理中的應用
一、兼容現有協議
XML文檔格式的管理信息可以很容易地通過HTTP 協議傳輸,由於HTTP是建立在TCP之上的,故管理數據能夠可靠傳輸。XML還支持訪問XML文檔的標准API,如DOM,SAX,XSLT,Xpath等。
二、統一的管理數據存取格式
XML能夠以靈活有效的方式定義管理信息的結構。以XML格式存儲的數據不僅有良好的內在結構,而且由於它是W3C提出的國際標准,因而受到廣大軟體提供商的支持,易於進行數據交流和開發。現有網路管理標准如TMN、SNMP等的管理信息庫規范決定了網管數據符合層次結構和面向對象原則,這使得以XML格式存儲網管數據也非常自然,易於實現。
三、不同應用系統間數據的共享和交互
只要定義一套描述各項管理數據和管理功能的XML語言,用Schema對這套語言進行規定,並且共享這些數據的系統的XML文檔遵從這些Schema,那麼管理數據和管理功能就可以在多個應用系統之間共享和交互。
四、底層傳輸的數據更具可讀性
網路中傳輸的底層數據因協議不同而編碼規則不同,雖然最終傳輸時都是二進制位流,但是不同的應用協議需要提供不同的轉換機制。這種情況導致管理站在對採用不同協議發送管理信息的被管對象之間進行管理時很難實現兼容。如果協議在數據表示時都採用XML格式進行描述,這樣網路之間傳遞的都是簡單的字元流,可以通過相同的XML解析器進行解析,然後根據不同的XML標記,對數據的不同部分進行區分處理,使底層數據更具可讀性。[3]
五、它和json都是一種數據交換格式
XML由3個部分構成,它們分別是:文檔類型定義(Document Type Definition,DTD),即XML的布局語言;可擴展的樣式語言(Extensible Style Language,XSL),即XML的樣式表語言;以及可擴展鏈接語言(Extensible Link Language,XLL)。
(1)DTD
DTD規定了文檔的邏輯結構。它可定義文檔的語法,而文檔的語法反過來也能夠讓XML語法分析程序確認頁面標記使用的合法性。DTD定義了頁面的元素、元素的屬性及元素和屬性間的關系。元素與元素間用起始標記和結束標記來定界,對於空元素,用一個空元素標記來分隔。每一個元素都有一個用名字標識的類型,也稱為它的通用標識符,並且它還可以有一個屬性說明集。每個屬性說明都有一個名字和一個值。理想定義應該面向描述與應用程序相關的數據結構,而不是如何顯示數據。就是說,應該把一個元素定義為一個標題行,之後讓樣式表和腳本定義顯示標題行。
DTD不具強制性。對於簡單的應用程序來說,開發商不需建立自己的DTD,可以使用預先定義的公共DTD或不使用。即使某個文檔已經有DTD,只要文檔組織是良好的,語法分析程序也不必對照DTD來檢驗文檔的合法性。伺服器可能己執行了檢查,所以檢驗的時間和帶寬將得以大幅度節省。
(2)XSL
XSL是用來規定XML文檔樣式的語言。XSL能使Web瀏覽器改變原有文檔的表示法,例如改變數據的顯示順序,不必再與伺服器進行交互通信。通過樣式表的變換,同一文檔可以顯示得更大,或經過折疊只顯示外面的一層,或者變為列印格式。
XSL憑借其本身的可擴展性,能夠控制無窮無盡的標記,而且控制每個標記的方式也是無窮盡的,這也給Web提供了高級的布局特性。如文本的旋轉、多列和獨立區域。同時支持國際書寫格式,可在一頁上混合使用從左至右、從右至左及從上至下的書寫格式。就如同XML介於HTML和SGML之間一樣,XSL標準是介於CSS和SGMI的文檔樣式語義和規范語言之間的。
(3)XLL
XLL支持Web上已有的簡單鏈接,而且將進一步擴展鏈接,包括終結死鏈接的間接鏈接及可從伺服器中只查詢某個元素的相關部分鏈接等。
超文本標記語言(HTML)僅僅執行歷來與超文本系統概念相關的極少功能,僅支持最簡單的鏈接形式,即指向硬編碼位置的單向鏈接,這與XML相比有著很大的差別。在為XML所設想的真正超文本系統中,所有典型的超文本鏈接機制全部將得到支持,包括:與位置無關命名,雙向鏈接,可在文檔外規定和管理的鏈接,元超鏈接(如環路、多個窗口),集合鏈接(多來源),Transc1usion(鏈接目標文檔是鏈接源文檔的一部分),鏈接屬性(鏈接類型)。
所有這些可通過XLL來實現。由於XML以SGML作為基礎,因此,XLL基本上屬於Hytime(超媒體/基於時間的結構語言,ISO10744)的一個子集,另外它還遵循文本編碼所倡議規定的鏈接概念。
XML能方便有效地表示結構化數據,這就使得XML可以作為描述和傳輸數據的手段。使用XML進行數據交換已經成為計算機軟體領域的標准技術模式。通過XML實現數據的標准化、結構化,解決了在不同平台、不同系統之間的數據結構/模式的差異,使得數據層在XML技術的支持下統一起來。
Web Service全部的規范,技術都是以XML為底層核心和構架基礎的,對Web Service而言,SOAP、WSDL和UDDI,都是使用XML作為信息描述和交換的標准手段。XML技術的產生促使了Web Service技術的產生與發展。
❷ 文件批量處理百寶箱的各功能用法簡介
法介紹
各功能用法,會有相應的面板提示、狀態顯示、操作提示和操作通知,本次只簡單介紹:
1. 添加
適用於文件批量更名,可以將需要添加的特定內容添加到文件名的開頭、末尾,或者中間的任何位置。
2. 刪除
適用於文件批量更名,可以將需要刪除的內容從文件名中刪除,包含只刪除最先出現的、刪除按指定位置以後最先出現的、全部刪除、刪除指定范圍內的內容等功能。附帶從硬碟中批量刪除列表中指定文件類型的文件。提供區分字母大小寫模式。
3. 替換
適用於文件批量更名,可以將需要替換的內容替換為新的內容,包含只替換最先出現的、替換按指定位置以後最先出現的、全部替換、替換指定范圍內的內容等功能。當新內容為空時,等同於「刪除」功能。提供區分字母大小寫模式。
4. 音頻
適用於MP3音頻文件智能更名,將MP3的ID3標簽信息中的歌名歌手信息讀出然後以此來重新智能更名,目前只提供歌名-歌手,歌手-歌名兩種常用的更名需要。如果需要添加序號的,更名後再用「數字」功能來添加序號;如果需要再添加特定內容的,須再執行添加功能;如果要將「歌名-歌手」中間的連字元換成其他字元或者不要,須再執行替換或者刪除功能。
5. 對調
適用於文件批量更名,以某字元或字元串為基準,進行前後對調,該基準可保留或者刪除;或者將指定前後位置范圍內的字元串對調(前後指定范圍不能重疊)。比如類似「文件名_01.rmvb要統一交換改成「01 文件名.rmvb」,則可以採用以「_」為基準,刪除基準字元的對調方式。
6. 數字
適用於文件批量更名,可以將排好序的文件按數字遞增或者遞減進行更名,數字變化步長可以在允許的范圍內自定義,遞增遞減變化的數字型大小可以放在文件名前或後,可以指定編號的起始值以及固定編號的位數,可以採用全新文件名_遞增流水號方式更名,如果要刪除或者更改「全新文件名_遞增流水號」中的「_」,可以再採用替換或者刪除功能。比如對數碼相機產生的無意義的數碼卡片名和數字系列,就可以用此方法來批量更名。
7. 擴展名
適用於文件批量更名,比如將jpeg改成jpg,比如為了保護某些文件,更改擴展名後打不開或者為亂碼等,比如將ini、dll、txt等類型文件互轉等,比如將txt類型轉換為html類型,比如將lrc與txt類型互轉等。
8. 圖片壓縮
適用於圖片壓縮處理,可以壓大小、縮尺寸,同時壓大小縮尺寸,轉換為灰度等,為了指定合適的壓縮參數值,可以先設定好壓縮參數,再預覽合適後再行批量壓縮。
9. MP3標簽
適用於顯示或重寫MP3的ID3信息,也可以批量抹除這些信息以節省存儲空間。
10. 水印標記
適用於向圖片文件添加文字標記、文字或圖片水印,比如網站需要將上傳到該網站上的圖片打上自己的標記或水印,數碼照片添加拍攝者日期等信息,提供了將圖片文件名作為文字標記批量打水印的功能(對於無拍攝日期疊加到照片上的數碼照片,可以採用17中的修改文件屬性功能中的修改文件時間屬性功能,將數碼照片導入,然後選擇智能更名模式,將數碼照片的文件名智能地修改成拍攝日期時間,然後再執行以文件名為文字標記的批量打水印功能即可)。文字標記可以調字型大小、字體、字形、顏色,文字/圖片水印可以縮放,調水印透明度等。
11. 源匹配
對批量有序的文件名,其新文件名保存在其他文件中,比如保存在txt,xls,dbf,mdb等,可以採用本功能,如果是保存在word中,可以先將word轉換為txt即可,附帶有繁簡字體轉換功能,附帶有將源文件中的新文件名附加到原文件名前或者後的功能。比如學員或職工的證件照片由數碼相機系列生成,而這些證件照片按順序生成的身份證號保存在xls文檔中,需要將xls文檔中對應的身份證號來批量更名證件照片名時,就很適合這種功能。如果要將xls表中身份證列和姓名列共同組成新文件名來對應批量更名證件照名,可以先導入姓名列,然後再導入身份證列,同時勾選附加在末尾。
12. 批替換
對Word,excel,asp,html,ppt等產生的文檔,對其中的文件中的內容的字元串進行替換操作,可以一次執行多條替換對。如果需要處理比如ini,reg,dll,lrc等類型的文件,需要將這些類型的文件先用更改擴展名功能更改為txt類型,然後再執行批替換操作,執行完畢後,再執行更改擴展名功能更改回原來的擴展名即可。提供了對txt類型文件的行處理功能,比如提取txt正文中的任何一段來重命名文件名、向正文中任何允許的地方添加特定的內容、刪除正文中指定的內容、對正文進行大文件的分割輸出以及對正文字元的單獨和整體統計。
本功能中的通配符替換功能借用了Word的通配符替換功能,只要使用者熟悉Word通配符查找替換的技巧,此功能可以滿足多種純字元替換的需求,特別有時能實現一些奇妙的令人驚嘆的替換功能,特舉幾例,如:
(1)有1000個txt文件,需要在每個文件的最前面添加「某某工作室」的標記,則批替換的通配符組合規則為,在查找框中輸入:*^p,在替換框中輸入:某某工作室^p^&,先取消全部替換選項,然後執行批替換操作,則1000個txt文件就會自動全部在每個文件的最前面添加如上某某工作室的標記,大大提高工作效率。
(2)有1000個txt文件,需要將每個txt文件中的第3行刪除,則批替換的通配符組合規則為,在查找框中輸入:(*^p*^p)*^p,【解釋:小括弧的每個^p代表一段,第一個^p對應第一段,依次類推】在替換框中輸入:1,【解釋:1代表上面第一對小括弧的內容,依次類推,後面*^p未出現,其代表的第三段被刪除了】,先取消全部替換選項,再執行批替換操作,則會自動將1000個txt文件中的第3行刪掉。提示:如果要刪除每個txt文件中的第100行,那查找框中就得原樣輸入100組*^p,以此類推,如果輸入的通配符表達式的字元長度超過了文本框的長度限制或者超出了Word的限制,那就無法實現了,前提是在允許的限制之內(當有這種處理需求時,可以勾選處理第xx段/行之前/之後選項,就可以繞過前面的限制了,拓展了功能。)
(3) 有1000個txt文件,需要在每個txt文件中的每一行的開頭添加【,末尾添加】,則批替換的通配符組合規則為,在查找框中輸入:(*)^p,替換框中輸入:【1】^p,勾選全部替換,再執行批替換即可。或者選擇txt批替換的行處理功能中的在行首尾添加成對字元的功能。
(4) 有1000個txt文件,需要在每個txt文件中的末尾添加版權人或者作者的落款,則批替換的通配符組合規則為,在查找框中輸入:*,替換框中輸入:^&^p落款,勾選從末尾開始查選項,再執行批替換即可。或者選擇txt批替換的行處理功能中的在正文尾添加內容的功能。
(5)有6000個txt文件,需刪除每個文件的最後段,則查找框中通配符表達式為:^p(*),替換為框中的通配符表達式為:^p,勾選從末尾開始查找。或者選擇txt批替換的行處理功能中的刪除末尾段的功能。
(6)有6000個txt文件,需刪除每個文件的倒數第三段,則查找框中通配符表達式為:^p*(^p*^p*),替換為框中的通配符表達式為:1,勾選從末尾開始查找。或者選擇txt批替換的行處理功能中的刪除倒數第x段的功能。
(7) 有3000個文本型網頁源代碼文件,要刪除類似「 <title> </title> 」這種成對標記,因為這種標記的中間是空白,而且中間空白的空格數是未知不固定的,如何成對智能全部刪除呢?則批替換的通配符組合規則為,在查找框中輸入:<title> {1,}</title>,【注意:{的前面有一個空格,不能掉了,{1,}代表{前面的字元後續連續出現1次或者多次},替換框中留空,勾選全部替換,再執行批替換即可。
(8) 有3000個文本型網頁源代碼文件,要將「 <title> 某某網站名稱 </title> 」這種成對標記,替換為「 <title> 我的網站的新名稱 </title> 」,則批替換的通配符組合規則為,在查找框中輸入:(<title>)(*)(某某網站名稱)(*)(</title>),替換框中為:1我的新網站名稱5,勾選全部替換,再執行批替換即可。
(9) 有1000個txt文件,需要將每個txt文件中的第三行的「某某」統一替換為「xx」,則批替換的通配符組合規則為,在查找框中輸入:(*^p*^p)(*)某某(*^p),替換框中輸入:12XX3,取消全部替換和取消從末尾開始查選項,再執行批替換即可。
注意:如果是處理Word文檔,^p與^13是等效的,都代表段落標記或者回車符,如果是處理txt文檔,優先使用^p;如果是使用通配符方式下,回車符或者段落標記用^13來表示。
以上這些通配符的奇妙的組合和功能所實現的特殊的查找替換需求,僅當拋磚引玉之舉,使用者自己去摸索研究,積累實踐經驗。
13. Wrd2Txt
適用於Doc與txt類型文檔的類型互轉。Word自帶txt批量轉doc功能,但只能轉ANSI碼的txt,如果是unicode,unicodeBE,utf-8之類的編碼,就會出現亂碼,本功能修正此缺陷,但不支持這四種編碼以後的其他編碼(因為不常見)。
14. 表合並
適用於將多個工作簿中的表合並到一個工作簿中去,提供了只合並第一個表和合並所有非空表的功能。
15. 圖片定製
適用於將圖片文件按指定的大小或者尺寸進行壓縮,比如淘寶商戶要批量上傳寶貝照片,而網站對寶貝的照片的文件大小或者圖片尺寸有限制時,可以採用這種功能。比如要將幾萬學生的證件照批量縮小為1寸或者50K或1寸50K,就可使用本功能。
16. 取消超鏈接
對於Word,excel,ppt等文檔,如果其中存在大量的超鏈接,需要全部取消,而又不知道全部取消的方法時,採用這種功能最合適。同時,還附帶了從這些文檔中篩查出哪些文檔具有密碼保護,以及將ppt文檔中的文字提取出來轉換為word文檔的功能(ppt導出為word,得到的是圖片,不是文字)。
17. 修改文件屬性
對目標文件進行設置相關文件屬性,比如正常,只讀、隱藏、存檔等屬性。提供了修改文件的創建時間、修改時間和訪問時間的功能,這些時間可以限制在指定的時間區間內,對於時間,提供了按分鍾或秒為時間變化單位的有規律的遞增或者無規律的遞增功能。
提供了單獨修改每一張數碼照片的拍攝日期時間的功能,提供了按年、月、日、時、分、秒為時間位移單位向前或後推批量更改數碼照片的拍攝日期的功能,對於用數碼相機拍照時未正確設置好日期時間,事後補救修改尤為有用。
提供了用數碼照片的拍攝日期時間單獨或者批量智能重命名照片的功能,然後可以採用功能「10」中的「水印標記」功能,將以拍攝日期時間為文件名的數碼照片,將以拍攝日期時間為文件名作為文字標記批量壓制到照片上得到疊加了拍攝日期時間的新數碼照片,對於不具備在照片上自動疊加拍攝日期時間的相機,或者拍攝時忘了開啟在照片上疊加拍攝日期時間,事後補救,本功能為其最好的補充。
18. 文本碼制轉換
適用於將4種編碼類型的txt類型轉換為指定的這四種編碼中的某一種。比如從網上下載的txt類型的電子書無法打開時,採用此功能轉換一下編碼類型,興許就能打開了。同時附帶提供了將多個txt文件合並成一個大的txt類型文件的功能。
19.編輯文件摘要
對允許的文件進行摘要的重新編寫,比如數碼照片的備注欄中通常是空的,可以採用此功能對照片的備注欄寫入備注,以後滑鼠一指向該照片,備注的信息就顯示出來了,支持批量將摘要信息寫成一樣,也可以單獨寫某個文件的,如果備注欄中只輸入了一個空格,全部寫入時,等於全部抹除文件的摘要信息。
20. 通配符更名
適用於文件批量更名,類似於正則表達式,但比正則表達式的功能更強大,它借用了Word的通配符功能,本機必須安裝有word方能使用本功能,可以按照通配符規則對文件進行批量更名,但前提是使用者必須熟悉word通配符的使用規則,在一些復雜的需求中,本功能很有用,同時提供了繁簡轉換、大小寫轉換、全半形轉換功能。
21.樣式更名
適用於文件批量更名,對原文件名進行字母大小寫轉換,對字元進行全半形轉換,對字元進行繁簡轉換等。同時附帶了對文本文件內容進行大小寫全半形繁簡轉換功能。
22.文本行處理
提供了37中特定的文本批量行處理功能,如:
【批量創建文本文檔或文件夾】
【批量刪除正文特定標記之前的所有內容】
【批量刪除文檔特定列】
【批量刪除每行首特定內容】
【批量在每行首添加特定內容】
【批量在每行中添加分隔符】
【將源txt文件中的內容對應替換目標txt中的內容】
【批量刪除成對標記內的內容】
【保留指定范圍的文字】
【批量刪除A中存在於B中的內容】
【批量行/塊替換】
【批量向txt正文中插入日期時間文件名】
【批量截取每一行的特定區域並刪除或替換】
【批量向指定標記之前或者之後添加特定內容】
【批量刪除特定信息、刪除數字字母中文空格回車符等】
【行順序顛倒】
【刪除文首/文尾特定內容】
【提取指定標記後面的數字並統一保存】
【批量刪除每一行指定標記後的所有內容】
【提取關鍵字所在行並保存】
【根據txt內容刪除對應文件夾】
【多行合並成一行】
【將多個文檔按列合並】
【在每行首添加時間標記】
【不做改動重新保存】
【批量提取電子郵件地址】
【用源文件行內容添加到目標中來】
【批量遞增替換特定內容】
【批量刪除文檔中的日期時間】
【批量提取文本中英文單詞並分別統計詞頻數】
【批量去除文本文檔中的漢字間的空格而同時保留英文間的空格】
【批量下載已知網路地址的文件】
【將AB中同時存在的關鍵詞所在的B中的行提取出來】
【2個內容文本文檔對比,找出不同處】
【批量行內對調】
【刪除重復行只留一行】
【批量文本隨機替換】
23. 圖片批量旋轉
可將圖片進行任何角度的旋轉,或者將圖片格式進行轉換(bmp/jpg/gif/png/tiff格式互轉)
其他的一些批量更名/處理的功能,還在不斷地增添完善中,敬請期待。
❸ 這個是什麼文件,該用什麼方法打開它,什麼程序可以打開,我用記事本打是亂碼的東西,
擴展標記語言,標准通用標記語言的子集,是一種用於標記電子文件使其具有結構性的標記語言。
在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。是Internet環境中跨平台的、依賴於內容的技術,也是當今處理分布式結構信息的有效工具。早在1998年,W3C就發布了XML1.0規范,使用它來簡化Internet的文檔信息傳輸。
語法編輯
可以在可擴展標記語言文件的內容包括幾乎所有的萬國碼Unicode字元(以下例子使用本條例,以<?開頭的文檔序言部分標記不能使用此條例),元素和屬性的名稱也可以由非ascii字元組成。[2]
標准通用標記語言常用來定義針對HTML的文檔類型定義(DTD),同時它也常用於編寫XML的DTD。標准通用標記語言的問題就在於它允許出現一些奇怪的語法,這讓創建HTML的解析器成為一個大難題:
某些起始標簽可以選擇性出現結束標簽或者隱含了結束標簽。
某些起始標簽要求必須出現結束標簽,例如HTML中<script>「腳本」標簽。
標簽可以以任何順序嵌套。即使結束標簽不按照起始標簽的逆序出現也是允許的,例如,This is asamplestring是正確的。
某些特性要求必須包含值,例如<圖片 源="網路.jpg">中的源特性。
某些特性不要求一定有值,例如中的「不換行」(外語:nowrap)特性。
定義特性的兩邊有沒有加上雙引號都是可以的,所以都是允許的。
1
2
<網路
詞條="可擴展標記語言">
1
<!--和-->
1
2
<網路
詞條=可擴展標記語言>
這些問題使建立一個標准通用標記語言的解析器變成了一項艱巨的任務,判斷何時應用以上規則的困難導致了標准通用標記語言語言的定義一直停滯不前,以這些問題作為出發點,XML逐漸步入我們的視野。
XML去掉了之前令許多開發人員頭疼的標准通用標記語言的隨意語法。在XML中,採用了如下的語法:
一、任何的起始標簽都必須有一個結束標簽。
二、可以採用另一種簡化語法,可以在一個標簽中同時表示起始和結束標簽。這種語法是在大於符號之前緊跟一個斜線(/),例如<網路詞條/>。XML解析器會將其翻譯成<網路詞條></網路詞條>。
三、標簽必須按合適的順序進行嵌套,所以結束標簽必須按鏡像順序匹配起始標簽,例如這是一串網路中的樣例字元串。這好比是將起始和結束標簽看作是數學中的左右括弧:在沒有關閉所有的內部括弧之前,是不能關閉外面的括弧的。
四、所有的特性都必須有值。
五、所有的特性都必須在值的周圍加上雙引號。
這些規則使得開發一個XML解析器要簡便得多,而且也除去了解析標准通用標記語言中花在判斷何時何地應用那些奇怪語法規則上的工作。僅僅在XML出現後的前六年就衍生出多種不同的語言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同時也將HTML改進為XHTML。
4應用編輯
可擴展標記語言是一種元標記語言,即定義了用於定義其他特定領域有關語義的、結構化的標記語言,這些標記語言將文檔分成許多部件並對這些部件加以標識。XML 文檔定義方式有:文檔類型定義(DTD)和XML Schema。DTD定義了文檔的整體結構以及文檔的語法,應用廣泛並有豐富工具支持。XML Schema用於定義管理信息等更強大、更豐富的特徵。XML能夠更精確地聲明內容,方便跨越多種平台的更有意義的搜索結果。它提供了一種描述結構數據的格式,簡化了網路中數據交換和表示,使得代碼、數據和表示分離,並作為數據交換的標准格式,因此它常被稱為智能數據文檔。
XML技術已經廣泛應用於e-Learning應用系統的開發,大多數的商用e-Learning平台都支持XML標准。一些主要的網路設備製造商,如CISCO、JUNIPER等,生產的網路設備也已提供了對XML的支持,以利於今後基於XML的網路管理。
XML在e-Learning管理中的應用
一、兼容現有協議
XML文檔格式的管理信息可以很容易地通過HTTP 協議傳輸,由於HTTP是建立在TCP之上的,故管理數據能夠可靠傳輸。XML還支持訪問XML文檔的標准API,如DOM,SAX,XSLT,Xpath等。
二、統一的管理數據存取格式
XML能夠以靈活有效的方式定義管理信息的結構。以XML格式存儲的數據不僅有良好的內在結構,而且由於它是W3C提出的國際標准,因而受到廣大軟體提供商的支持,易於進行數據交流和開發。現有網路管理標准如TMN、SNMP等的管理信息庫規范決定了網管數據符合層次結構和面向對象原則,這使得以XML格式存儲網管數據也非常自然,易於實現。
三、不同應用系統間數據的共享和交互
只要定義一套描述各項管理數據和管理功能的XML語言,用Schema對這套語言進行規定,並且共享這些數據的系統的XML文檔遵從這些Schema,那麼管理數據和管理功能就可以在多個應用系統之間共享和交互。
四、底層傳輸的數據更具可讀性
網路中傳輸的底層數據因協議不同而編碼規則不同,雖然最終傳輸時都是二進制位流,但是不同的應用協議需要提供不同的轉換機制。這種情況導致管理站在對採用不同協議發送管理信息的被管對象之間進行管理時很難實現兼容。如果協議在數據表示時都採用XML格式進行描述,這樣網路之間傳遞的都是簡單的字元流,可以通過相同的XML解析器進行解析,然後根據不同的XML標記,對數據的不同部分進行區分處理,使底層數據更具可讀性。[3]
五、它和json都是一種數據交換格式
XML由3個部分構成,它們分別是:文檔類型定義(Document Type Definition,DTD),即XML的布局語言;可擴展的樣式語言(Extensible Style Language,XSL),即XML的樣式表語言;以及可擴展鏈接語言(Extensible Link Language,XLL)。
(1)DTD
DTD規定了文檔的邏輯結構。它可定義文檔的語法,而文檔的語法反過來也能夠讓XML語法分析程序確認頁面標記使用的合法性。DTD定義了頁面的元素、元素的屬性及元素和屬性間的關系。元素與元素間用起始標記和結束標記來定界,對於空元素,用一個空元素標記來分隔。每一個元素都有一個用名字標識的類型,也稱為它的通用標識符,並且它還可以有一個屬性說明集。每個屬性說明都有一個名字和一個值。理想定義應該面向描述與應用程序相關的數據結構,而不是如何顯示數據。就是說,應該把一個元素定義為一個標題行,之後讓樣式表和腳本定義顯示標題行。
DTD不具強制性。對於簡單的應用程序來說,開發商不需建立自己的DTD,可以使用預先定義的公共DTD或不使用。即使某個文檔已經有DTD,只要文檔組織是良好的,語法分析程序也不必對照DTD來檢驗文檔的合法性。伺服器可能己執行了檢查,所以檢驗的時間和帶寬將得以大幅度節省。
(2)XSL
XSL是用來規定XML文檔樣式的語言。XSL能使Web瀏覽器改變原有文檔的表示法,例如改變數據的顯示順序,不必再與伺服器進行交互通信。通過樣式表的變換,同一文檔可以顯示得更大,或經過折疊只顯示外面的一層,或者變為列印格式。
XSL憑借其本身的可擴展性,能夠控制無窮無盡的標記,而且控制每個標記的方式也是無窮盡的,這也給Web提供了高級的布局特性。如文本的旋轉、多列和獨立區域。同時支持國際書寫格式,可在一頁上混合使用從左至右、從右至左及從上至下的書寫格式。就如同XML介於HTML和SGML之間一樣,XSL標準是介於CSS和SGMI的文檔樣式語義和規范語言之間的。
(3)XLL
XLL支持Web上已有的簡單鏈接,而且將進一步擴展鏈接,包括終結死鏈接的間接鏈接及可從伺服器中只查詢某個元素的相關部分鏈接等。
超文本標記語言(HTML)僅僅執行歷來與超文本系統概念相關的極少功能,僅支持最簡單的鏈接形式,即指向硬編碼位置的單向鏈接,這與XML相比有著很大的差別。在為XML所設想的真正超文本系統中,所有典型的超文本鏈接機制全部將得到支持,包括:與位置無關命名,雙向鏈接,可在文檔外規定和管理的鏈接,元超鏈接(如環路、多個窗口),集合鏈接(多來源),Transc1usion(鏈接目標文檔是鏈接源文檔的一部分),鏈接屬性(鏈接類型)。
所有這些可通過XLL來實現。由於XML以SGML作為基礎,因此,XLL基本上屬於Hytime(超媒體/基於時間的結構語言,ISO10744)的一個子集,另外它還遵循文本編碼所倡議規定的鏈接概念。
XML能方便有效地表示結構化數據,這就使得XML可以作為描述和傳輸數據的手段。使用XML進行數據交換已經成為計算機軟體領域的標准技術模式。通過XML實現數據的標准化、結構化,解決了在不同平台、不同系統之間的數據結構/模式的差異,使得數據層在XML技術的支持下統一起來。[4]
Web Service全部的規范,技術都是以XML為底層核心和構架基礎的,對Web Service而言,SOAP、WSDL和UDDI,都是使用XML作為信息描述和交換的標准手段。XML技術的產生促使了Web Service技術的產生與發展。
來自http://ke..com/link?url=AOCJXEKCCE3LGROSHvz__avNJLbQuN0GIbStk-GqbcN4_M1tuWskH020TNk3KrfB_vl#4
❹ XML概念、特點以及結構
什麼是 XML?
可擴展標記語言 (XML) 是 Web 上的數據通用語言。它使開發人員能夠將結構化數據,從許多不同的應用程序傳遞到桌面,進行本地計算和演示。XML 允許為特定應用程序創建唯一的數據格式。它還是在伺服器之間傳輸結構化數據的理想格式。
XML主要具有以下幾個特點:
① 簡潔有效
XML是一個精簡的SGML,它將SGML的豐富功能與HTML的易用性結合到Web應用種,它保留了SGML的可擴展功能,這使得XML從根本上有區別於HTML。並且XML種還包括可擴展格式語言XSL(Extensible Style Language)和可擴展鏈接語言XLL(Extensible Linking Language)使得XML的顯示和解析更加方便快捷。
② 易學易用
XML對SGML進行了精簡,它拋棄了SGML中不常用的部分,方便用戶編寫Web頁面同時也給設計人員實現XML瀏覽器降低了困難。
③ 開放的國際化標准
XML是W3C正式批準的,它完全可用於Web和工具的開發。XML具有標準的名域說明方法,支持文檔對象模型標准、可擴展類型語言標准、可擴展鏈接語言標准和XML指針語言標准。使用XML可以在不同的計算機系統間交換信息,而且還可以跨越國界和超越不同文化疆界交換信息。
④ 高效可擴充
XML支持復用文檔片斷,使用者可以發明和使用自己的標簽,也可以與他人共享,可延伸性大。在XML中,可定義一組無限量的標准,可以有效地進行XML文件的擴充。
XML的結構
XML有許多部分,但是只需要了解其中的三個就可以了解它是怎樣工作的。它們是:文檔類型定義(Document Type Definition,DTD),也就是XML的布局語言;可擴展的樣式語言(Extensible Style Language:XSL),也就是XML的樣式表語言; 以及可擴展鏈接語言(Extensible LinkLanguage:XLL)。
1.文檔類型定義(DTD)
DTD規定文檔的邏輯結構。它可以定義文檔的語法,而文檔的語法反過來能夠讓XML語法分析程序確認某張頁面標記使用的合法性。DTD定義頁面的元素、元素的屬性以及元素和屬性之間的關系。例如,DTD能夠規定某個表項只能在某個列表中使用。
理想的定義應面向描述與應用程序有關的數據結構而不是如何顯示數據。換句話說,應把一個元素定義為一個標題行,然後讓樣式表和腳本定義如何顯示標題行。
DTD不是強制性的。對於簡單應用程序來說,開發商不需要建立他們自己的DTD;可以使用預先定義的公共DTD,或者根本就不使用。即使某個文檔已經有了DTD,只要文檔是組織良好的,語法分析程序也可以不對照DTD來檢驗文檔的合法性。伺服器可能已經執行了檢查,所以檢驗的時間和帶寬將得以節省。
2.可擴展的樣式語言(XSL)
XSL是用於規定XML文檔樣式的語言。XSL能使Web瀏覽器改變文檔的表示法,例如數據的顯示順序改變,就不需要再與伺服器進行交互通信。通過變換樣式表,同—個文檔可以顯示得更大,或者經過疊折只顯示外面的一層,或者變為列印格式。可以設想一個適合用戶學習特點的技術手冊,它為初學者和更高一級的用戶提供不同的樣式,而且所有的樣式都是根據同樣的文本產生的。
XSL憑借其可擴展性能夠控制無窮無盡的標記,而控制每個標記的方式也是無窮盡的。這就給Web提供了高級的布局特性。例如旋轉的文本、多列和獨立區域。它支持國際書寫格式,可以在一頁上混合使用從左至右、從右至左和從上至下的書寫格式。正如XML介於HTML和SGML之間一樣,XSL標准介於CSS和SGMI的文檔樣式語義和規范語言之間。
3.可擴展鏈接語言(XLL)
XLL將支持目前Web上已有的簡單鏈接,並且將進一步擴展鏈接,包括結束死鏈接的間接鏈接以及可以從伺服器中僅查詢某個元素的相關部分的鏈接等。
超文本標記語言HTML只執行歷來與超文本系統概念相關的極少功能只支持最簡單的鏈接形式,即指向硬編碼位置的單向鏈接,這與XML相比有很大的差別。在為XML所設想的真正的超文本系統中,所有典型的超文本鏈接機制都將得到支持,包括:
——與位置無關的命名;
——雙向鏈接;
——可以在文檔外規定和管理的鏈接;
——元超鏈接(如環路、多個窗口);
——集合鏈接(多來源);
——Transclusion(鏈接目標文檔是鏈接源文檔的一部分);
——鏈接屬性(鏈接類型)。
這些可以通過XLL來實現。由於XML以SGML為基礎,所以XLL基本上是Hytime(超媒體/基於時間的結構語言,IS010744)的一個子集。它還遵循文本編碼倡議(TextEncoding Initiative)規定的鏈接概念。
❺ java怎麼獲取resources下的文件路徑
1.讀取本地的xml文件,需要注意對應的路徑
//讀取xml文件,xmlFile為讀取文件的路徑DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance;DocumentBuilderbuilder=factory.newDocumentBuilder;Documentdocument=builder.parse(xmlFile);NodeListnodeList=document.getElementsByTagName(thisTag);//指定標簽()的節點集合for(itni=0;i<nodeList.getLength;i++){//循環獲取每個節點信息Nodenode=nodeList.item(i);NamedNodeMapattributes=node.getAttributes;for(intj=0;j<attributes.getLength;j++){Nodeattribute=attributes.item(j);System.out.println(attribute.getNodeName+":"+attribute.getNodeValue);}}
注意:getElementsByTagName方法只是屬於document與Element的方法
所以,當針對某個Node查找對應的節點時,需要先強制轉換為Element
ElementnodeToElement=(Element)node;NodeListosNodeList=nodeToElement.getElementsByTagName(thisTag);//thisTag為指定標簽
2.讀取txt文件
一般的數據存儲都是鍵值對的方式在文件中記錄,開發人員多是根據已知的鍵,從文件中取得對應的值。
例如Config.txt中內容為:
name=jack
sex=boy
要從java程序中讀取該文件的內容
Fileconfig_file=newFile("./Config");//此處使用相對路徑Stringconfig_file_fullpath=config_file.getAbsoluteFile.toString;readConfigconfig=newreadConfig(config_file_fullpath);Stringname=config.get("name");//name為jack//對獲取的數據進行處理//...
3.讀取.csv文件
csv文件一般為表格,是多行多列的數據,列對應相應不同的屬性,java實現逐行讀取每列單元格的值。