之前關於xml一直很好奇,很多地方都說能用到xml來儲存資料,傳輸資料。最近自己看了點xml的資料,總結下。
個人學習記錄,歡迎各種拍磚
xml本身是乙個由很多自定義的標籤組成的描述性語言,寫出來的是個.xml的文字
這裡的標籤叫做, 一定是有開始標籤和結束標籤。標籤與標籤之前是巢狀存在的。
......
......
......
每乙個element還可以帶有屬性,attribute來增加標籤的資訊
這是xml文件最基本的形式。
因為這些標籤都是自定義的,所以任何人可以寫任何標籤。但是如果我是個專案的負責人,我想指定這些element的名字啊,屬性啊,然後具體接觸資料的人才能根據這個指定格式的xml檔案來填寫資料。就像我先制定乙個規範的**,然後大家才能統一填寫。這樣就用到了xml schema
這個xml schema通過規定的形式來制定每個指定xml應該有哪些elements,每個elements應該有哪些attribute
以下是個xml schema的乙個例子
<?xml version="1.0"?>
上面的schema定義了根element是note,然後有四個childelement, "to","from","heading","body", 他們包含的資料都是string型別的
可以看到其實schema文件也是用xml的格式來寫的,用element來巢狀表示
xml, 和 xml schema 有很多細節的知識,但是大體上設計思想就是這麼多了。
那麼xml為什麼這麼流行呢?
我是這麼理解的: xml是乙個最基本的表示資料表示形式,它能很格式化的表示資料。它本身就這麼多用處了。
通過schema可以定義很多xml文件的格式。那麼這樣的話,這個xml就能當成是個協議了(protocol),比如可以做成在web service中的傳輸協議,soap。 可以做成描述服務的wsdl檔案。可以做成部落格訂閱的rss協議。 用xml來描述這些協議的話,可以做到os-independent, language-independent. 只要在伺服器端和客戶端用程式來解析這個被schema定義好的xml文件,就能到達資料傳輸或者資料儲存的目的了。
總結:xml只是乙個自定義的標記語言。真正使大家認識到它的是利用xml衍生出來的各種用於web service的服務協議。或者說這就是xml的真正用途。
關於MongoDB的一點總結
今天推送引擎註冊在dubbo上的服務總是自動會關閉掉,查了一下發現是system.in.read 的原因,導致自動關閉。但是還是不太明白,別人執行spring的時候,只要啟動以後就不會自動關閉,而我的spring剛啟動就關閉了,找了半天都沒有解決,沒辦法,只好用了最笨的方法 while true 而...
關於演算法的一點總結
分解問題的角度 fix 某一維度,嘗試另一維度上的所有可能 a.可能是array的 i,j pointers,b.可能是矩形的長與寬,c.可能是tree的每乙個subtree,d.可能是情景題的每一對pair 求所有解的,暴力上backtracking吧 如果問最短 最少的,先想bfs dp這對好 ...
關於學習的一點體會
從小到大,經歷過很多的學習,有專業知識的學習,有生活技能的學習,有興趣愛好的學習,但是直到目前為止,沒有在任何乙個方面能夠在身邊的同學和朋友中脫穎而出。每每想到這樣的問題一直伴隨自己經歷了這麼久,便陷入深深自責。今天決定寫一篇部落格,來反省一番,希望能給自己以後的發展提供一些幫助。分析學習一項技能無...