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

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

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

    編程之道

    無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

    XML回憶錄-學不可以已

             考試終于考好了,休息了一天然后繼續以前未完成的struts框架學習。其實我知道怎么用config.xml。就是沒搞懂為什么config.xml能夠把MVC給聯系起來,于是決定復習一下XML。
             XML 可用于各種不同的應用程序,但其實質是:XML 是一種表示數據的方式。

             1。文檔定義類型和命名空間
    1.1   XML的強大之處在于它可以自己定義標記,但是需要一個文檔來定義標記的含義,這樣解析器才能核查數據是否正確。這個文檔定義類型被成為(Document Type Definition)DTD.
    比方說一個XML文件
    <peson name="john" sex="male"/>
    里有個sex屬性,那性別的話除了男就是女了,解析器本來是不知道sex是性別的意思,那屬性值怎么填都不會錯的。如果想讓解析器知道sex值只能是男或女,那就要定義DTD
    <!DOCTYPE 根元素 [
             <!ELEMENT peson EMPTY>
             <!ATTLIST peson
                name CDDATA #REQUIRED
                sex (MALE | FEMALE) #REQUIRED   
             >
    ]>
       我其實并不喜歡DTD,DTD和XML怎么看都很不舒服。

    1.2   命名空間   主要目的是為了避免(元素名相同,內容不同)。不過前面翻閱IBM資料庫的時候一篇文章里寫命名空間可能要被W3C取消掉了。

        
                2。用CSS和XSL顯示XML文檔
     2.1      由于XML主要是用來描述數據的,所以在顯示數據方面沒有HTML那么直接,想要達到HTML那樣的效果,就需要CSS和XSL樣式表。
    寫2個例子一看就明白了:
    <?xml version="1.0" encoding="UTF-8"?>
    <!--引用一個外部CSS樣式表-->
    <?xml:stylesheet  type="text/css" href="test.css"?>
    <!--引用一個xsl樣式表-->
    <?xml:stylesheet  type="text/xsl" href="test.xsl"?>
    <Resume>
    <ID id="1">
     
    <Name>John</Name>
     
    <Sex>male</Sex>
     
    <Age>22</Age>
     
    <Skill>IT</Skill>
     
    </ID>
     
    <ID id="2">
     
    <Name>Tom</Name>
     
    <Sex>male</Sex>
     
    <Age>25</Age>
     
    <Skill>Worker</Skill>
     
    </ID>
    </Resume>

    <!--test.css-->
    Resume
    {display: block;}
    id
    {display: block;}
    Name
    {display: block; font-size:120%;}
    Sex
    {display:red; text-indent:2em}
    Skill
    { display:red; text-indent:2em}
    Age
    { display:red; text-indent:2em}
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
        
    <xsl:template match="Resume">
        
    <html>
            
    <head>
                
    <title>簡歷</title>
            
    </head>
            
    <body>
                
    <xsl:for-each select="ID">
                
    <font color="red"><xsl:value-of select="Name"/></font><br></br>                
                
    <xsl:value-of select="Sex"/><br></br>                
                
    <xsl:value-of select="Age"/><br></br>                
                
    <xsl:value-of select="Skill"/><br></br>        
                
    <p></p>
                
    </xsl:for-each>
            
    </body>
        
    </html>
        
    </xsl:template>
    </xsl:stylesheet>

    XSL語法還是比較簡單的,可以說一看就明白。兩者比較一下,還是XSL直觀,靈活一點,不過還是不方便,這也是為什么HTML還如此鼎盛的原因。
    2.2   簡單介紹下XSL的語法
     2.21     XSL中最重要的概念就是模板,它是由一個一個模板組成。
    //定義模板
     <xsl:template match="/">
    ....
     <xsl:apply-templates select="Resume" />//調用該模板,有點象調用方法();
    .....
     </xsl:template>
    //(方法定義)
     <xsl:template match="Resume">
    ......
     </xsl:template>

     2.22   判斷語法
       循環語句
    <xsl:for-each select="元素名稱"></xsl:for-each>
       條件語句
    <xsl:if test=""></xsl:if>



     

                 3。文檔對象模型DOM和SAX

    3.1  DOM把文檔作為一個對象,通過編程的方式來查詢或改變文檔。
    DOM是XML在內存中的樹狀結構,當XML文件被載人解析器中解析后,在內存中就建立了一顆相應的樹。
    3.2   什么是XML解析器?
          解析就是讀取文檔并將文檔分解為能夠進行分析的元素的過程。XML解析器是WEB應用程序最基本勾踐塊。它是有2個基本API組成:DOM 和SAX。
    3.3   DOM的優點在于可以進行隨機重復訪問;缺點就是由于DOM是將XML文檔全部載入內存中,所以對內存消耗很大,不適合比較大的XML文檔。
         
    3.4   SAX是可擴展標記語言的簡單應用程序編程接口。由于SAX解析時不創建顯示數據結構,因此它比DOM的效率更好。
    不過它的缺點就是只能讀只前進。
       DOM和SAX的例子以后會添加進來,所以這里就不寫了。

    將所學到的知道用一張表聯系起來,情看:

    學習筆記只是簡單地敘述了下XML基本內容有哪些技術,至于想更深刻的理解XML。無它,多動手。

    posted on 2005-08-22 20:33 瘋流成性 閱讀(478) 評論(0)  編輯  收藏 所屬分類: XML


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲一级毛片免观看| 伊人久久大香线蕉亚洲| 亚洲欧洲日产国码www| 无码精品人妻一区二区三区免费看| 在线观看亚洲成人| 精品一区二区三区免费观看| 中文字幕无码精品亚洲资源网| 中文字幕无码免费久久9一区9| 久久亚洲色一区二区三区| A毛片毛片看免费| 亚洲色欲久久久综合网| 精品一区二区三区免费| 亚洲AV日韩精品久久久久久| 18级成人毛片免费观看| www.亚洲日本| 国产精品无码一区二区三区免费 | 波多野结衣一区二区免费视频| 国产婷婷综合丁香亚洲欧洲| 成年性生交大片免费看| 午夜亚洲国产理论片二级港台二级 | 国产真人无遮挡作爱免费视频| 亚洲一卡2卡3卡4卡5卡6卡| 成人免费毛片观看| 青青青亚洲精品国产| 久久影视综合亚洲| 91精品国产免费| 亚洲精品理论电影在线观看| 亚洲国产成人精品女人久久久 | 三年片在线观看免费大全电影 | 四虎在线视频免费观看| 特级毛片免费播放| 亚洲av永久无码制服河南实里| 国产成人福利免费视频| 亚洲av日韩综合一区久热| 亚洲夜夜欢A∨一区二区三区| 88av免费观看入口在线| 亚洲a∨无码精品色午夜| 亚洲精品成人片在线观看精品字幕 | 亚洲精品无码av中文字幕| 亚洲一区日韩高清中文字幕亚洲| 一级毛片在线观看免费|