<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    XML學(xué)習(xí)筆記---初步探索XML

    Posted on 2007-09-13 11:17 久城 閱讀(1091) 評論(6)  編輯  收藏 所屬分類: XML

    知道XML已經(jīng)很久了,最常見到它的地方莫過于web編程時見過的web.xml和struts中的struts-config.xml。但卻一直不了解它到底是做什么用地。有一點可以肯定,它的作用遠遠不止于此。

    這兩天比較閑,在網(wǎng)上看了一些關(guān)于XML的學(xué)習(xí)資料,第一次有這樣一個東西深深的吸引了我。

    研究它是因為想研究RSS,而RSS是目前最成功的XML應(yīng)用。所以,才有的沖動去了解XML。

    記錄筆記如下:

    背景

    我對背景這個東西就跟讀新聞一樣,一廖而過。但了解一種技術(shù)或者一種語言的背景,有助于我們理解它的應(yīng)用。先了解幾個概念:
    SGML(Standard Generalized Markup Language),標(biāo)準(zhǔn)通用標(biāo)記語言。
    XML(eXtensible Markup Language),擴展標(biāo)記語言。
    HTML(Hyper Text Mark-up Language ),超文本標(biāo)記語言。

    早在Web未發(fā)明之前,SGML就已經(jīng)存在了。但是SGML這種語言相當(dāng)?shù)凝嫶螅瑢W(xué)習(xí)起來很復(fù)雜(聽說的),我想,SGML中也應(yīng)該是可以任意的定義各種標(biāo)記,然后也有很多的DTD,對標(biāo)記做不同的定義。那個年代,對于這種靈活性可能一般人都很難掌握吧(猜的哈哈),于是就誕生了HTML。

    我想HTML無非就是用SGML定義好每一種標(biāo)記,包括DTD也是定義好的(HTML中好像沒有DTD,我想是已經(jīng)定義好一種規(guī)范可以被瀏覽器識別了吧),通通不可以改變。這樣,由于HTML都是由一些固定的標(biāo)記組成的,數(shù)量有限,所以學(xué)習(xí)起來非常的簡單,使用起來也非常方便。

    但是由于WEB的應(yīng)用越來越廣泛,HTML的缺點也逐漸的顯現(xiàn)出來。它固定的標(biāo)簽導(dǎo)致它在解決一些復(fù)雜問題的時候,很困難。介于這個弱點,于是就產(chǎn)生了XML,可擴展標(biāo)記語言。和SGML相比,XML就是一個精簡的SGML。可以想象,XML不局限于固定的標(biāo)簽,完全可以由自己來設(shè)置標(biāo)簽,再配合DTD文件對標(biāo)簽進行定義規(guī)范。XML的功能要比HTML強大得多。這樣,隨著問題空間的變大,解決問題的空間也變大了嘿。

    XML與HTML比較

    HTML只是WEB通過瀏覽器顯示數(shù)據(jù)的通用方法,而XML提供了一個直接處理WEB數(shù)據(jù)的通用方法。HTML著重描述WEB數(shù)據(jù)的顯示格式,(想想那些標(biāo)簽也基本上都是用于顯示格式的),而XML著重描述的是WEB頁面的內(nèi)容。

    好像不是很好理解,我是這樣想的,HTML的標(biāo)簽?zāi)康脑谟谌绾伟褦?shù)據(jù)用不同的格式顯示出來。比如同樣的一個字符串,我可以把它顯示成一個Label,一個Text,或者一個Link。而XML,目的在于把這個字符串的內(nèi)容完整的顯示出來。

    當(dāng)然,它也能做到把這個字符串顯示成各種格式。只需要結(jié)合一個XSL來描述。由XSL來定義XML中數(shù)據(jù)的顯示格式。這樣,使數(shù)據(jù)和表現(xiàn)形式完全的分離,這也許就是XML的魅力吧。

    XML的應(yīng)用

    這是我最在意的地方。記錄下有待研究。
    參考網(wǎng)上的資料,有人這樣統(tǒng)計過:
    1. 應(yīng)用于客戶需要與不同的數(shù)據(jù)源進行交互時。
    2. 應(yīng)用于將大量運算負荷分布在客戶端,即客戶可根據(jù)自己的需求選擇和制作不同的應(yīng)用程序以處理數(shù)據(jù),而服務(wù)器只須發(fā)出同一個XML文件。
    3. 應(yīng)用于將同一數(shù)據(jù)以不同的面貌展現(xiàn)給不同的用戶。
    4. 應(yīng)用于網(wǎng)絡(luò)代理對所取得的信息進行編輯、增減以適應(yīng)個人用戶的需要。

    另一個網(wǎng)絡(luò)資源的理解,同樣是這四個方面:
    1. 當(dāng)網(wǎng)絡(luò)客戶必須在不同的數(shù)據(jù)庫之間傳遞信息時;
    2. 當(dāng)需要把大部分從網(wǎng)絡(luò)服務(wù)器下載的數(shù)據(jù)在用戶端處理的時;(好像正是我需要的那個)
    3. 當(dāng)相同的數(shù)據(jù)對于不同的用戶需要有不同的界面時;
    4. 當(dāng)網(wǎng)絡(luò)情報供應(yīng)商要把發(fā)現(xiàn)的信息精心裁剪并發(fā)送給不同的個人用戶時。


    簡單的XML文件
    <?xml version="1.0" encoding="gb2312"?>
    <blog>
    <name>java study</name>
    <author>Jiu Cheng</author>
    <url>http://www.tkk7.com/realsmy</url>
    </blog>
    version="1.0",說明這個文件遵循現(xiàn)在的xml1.0規(guī)范。

    XML文檔和HTML文檔相比,是結(jié)構(gòu)良好的文檔。比如:
    1. 標(biāo)簽必須成對。
    2. 一份文檔必須包含一個根元素。
    3. 所有的開始標(biāo)簽和結(jié)束標(biāo)簽必須匹配。
    4. 空標(biāo)簽必須以“/>”結(jié)束。
    5. 標(biāo)簽必須嵌套正確。
    6. 元素名稱大小寫敏感。
    7. 所有的屬性值必須位于單引號或雙引號中。
    8. 在同一個開始標(biāo)簽或空標(biāo)簽澡屬性不允許出現(xiàn)超過一次。
    以上這些是XML文檔必須遵循的,但是HTML瀏覽器卻可以接收結(jié)構(gòu)不良好的HTML文檔。

    在HTML瀏覽器中格式化XML數(shù)據(jù)

    我想我說格式化大概不是很標(biāo)準(zhǔn),暫時這樣理解。就我現(xiàn)在知道的,有兩種方法。一種是在HTML文件中調(diào)用XML中的數(shù)據(jù)利用HTML的顯示格式來顯示,一種是利用XSL文件來設(shè)置XML數(shù)據(jù)的樣式。
    1. 在HTML文件中調(diào)用XML數(shù)據(jù)
        也有兩種方法,一種是用腳本(script)調(diào)用。
    <HTML>
    <HEAD>
       
    <TITLE>test.html</TITLE>
       
    <script language="javaScript" for="window" event="onload">
        
    var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.load(
    "blog.xml");
        nodes
    =xmlDoc.documentElement.childNodes;
        name.innerText 
    = nodes.item(0).text;
        author.innerText 
    = nodes.item(1).text;
        url.innerText 
    = nodes.item(2).text;
       
    </script>
    </HEAD>
    <BODY>
       
    <b>BLOG NAME:</b><span id="name"></span><br>
       
    <b>AUTHOR:</b><span id="author"></span><br>
       
    <b>BLOG URL:</b><span id="url"></span><br>
    </BODY>
    </HTML>
        一種是引入XML文件。
    <HTML>
    <HEAD>
       
    <TITLE>test.html</TITLE>
    </HEAD>
    <BODY>
        
    <xml id="blog" src="blog.xml"></xml>
        
    <table border="0" datasrc="#blog">
          
    <tr>
            
    <td>BLOG NAME:</td>
            
    <td><span datafld="name"></span></td>
          
    </tr>
          
    <tr>
            
    <td>AUTHOR:</td>
            
    <td><span datafld="author"></span></td>
          
    </tr>      
          
    <tr>
            
    <td>BLOG URL:</td>
            
    <td><span datafld="url"></span></td>
          
    </tr>
        
    </table>
    </BODY>
    </HTML>

        blog.xml文件

    <?xml version="1.0" encoding="gb2312"?>
    <blog>
    <name>java study</name>
    <author>realsmy</author>
    <url>http://www.tkk7.com/realsmy</url>
    </blog>


    2. 利用XSL文件來設(shè)置XML的樣式
        blog.xml文件

    <?xml version="1.0" encoding="gb2312"?>
    <?xml-stylesheet type="text/xsl" href="blog.xsl" ?> 
    <blog>
    <name>java study</name>
    <author>realsmy</author>
    <url>http://www.tkk7.com/realsmy</url>
    </blog>

        blog.xsl文件

    <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
        
    <xsl:template match="/">
            
    <xsl:for-each select="blog">
                
    <xsl:value-of select="name"/><br/>
                
    <xsl:value-of select="author"/><br/>
                
    <xsl:value-of select="url"/><br/>
            
    </xsl:for-each>
        
    </xsl:template>
    </xsl:stylesheet>


    這都是最簡單的了。
    xsl也是一個xml文檔。它有自己的語法,有待學(xué)習(xí)。

    關(guān)于xml的學(xué)習(xí)還在進行中。




    歡迎來訪!^.^!
    本BLOG僅用于個人學(xué)習(xí)交流!
    目的在于記錄個人成長.
    所有文字均屬于個人理解.
    如有錯誤,望多多指教!不勝感激!

    Feedback

    # re: XML學(xué)習(xí)筆記---初步探索XML  回復(fù)  更多評論   

    2007-09-13 11:31 by 千里冰封
    不錯,支持一下,XML是很強大的標(biāo)記語言了

    # re: XML學(xué)習(xí)筆記---初步探索XML  回復(fù)  更多評論   

    2007-09-13 15:56 by laibin
    看完頂一下!

    # re: XML學(xué)習(xí)筆記---初步探索XML  回復(fù)  更多評論   

    2007-09-14 17:52 by 大頭菜
    很好的,很好的.

    # re: XML學(xué)習(xí)筆記---初步探索XML  回復(fù)  更多評論   

    2007-10-29 06:45 by mylove@foxmail.com
    筆記做的很好,一看就明白
    不過,以后配置文件可以完全不用XML寫。

    # re: XML學(xué)習(xí)筆記---初步探索XML  回復(fù)  更多評論   

    2007-11-17 20:32 by sonicss
    學(xué)習(xí)了,謝謝

    # re: XML學(xué)習(xí)筆記---初步探索XML  回復(fù)  更多評論   

    2008-02-02 17:53 by 煎蛋
    收益。謝謝。

    Copyright © 久城

    主站蜘蛛池模板: 114级毛片免费观看| 黄瓜视频影院在线观看免费| 噼里啪啦免费观看高清动漫4| 国产又大又长又粗又硬的免费视频 | fc2免费人成在线视频| 鲁大师在线影院免费观看| 国产成人免费福利网站| 久久青草亚洲AV无码麻豆| 亚洲AV永久无码天堂影院| 国产成年无码久久久免费| 成年轻人网站色免费看| 亚洲精品无码永久中文字幕| 亚洲永久网址在线观看| 美女被cao网站免费看在线看| 在线观看人成网站深夜免费| 亚洲AV无码一区二区乱孑伦AS| 亚洲国产成人久久精品软件 | 在线看片免费不卡人成视频| 伊人婷婷综合缴情亚洲五月| 中文字幕乱码亚洲无线三区 | 亚洲无人区午夜福利码高清完整版 | 亚洲av乱码中文一区二区三区| 免费黄网站在线看| 免费观看午夜在线欧差毛片| 亚洲精品网站在线观看你懂的| 人成午夜免费大片在线观看| 国产免费久久精品99re丫y| 亚洲无人区一区二区三区| 久久水蜜桃亚洲AV无码精品| 2022久久国产精品免费热麻豆| 亚洲一级Av无码毛片久久精品 | a级毛片在线免费观看| 啊v在线免费观看| 亚洲一区二区三区高清在线观看| 久久青草精品38国产免费| 亚洲精品国产精品乱码不卡| 伊人久久五月丁香综合中文亚洲 | 成年女人午夜毛片免费视频| 亚洲黄网在线观看| 97超高清在线观看免费视频| 国产又长又粗又爽免费视频 |