<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


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品无码久久千人斩| 毛片a级毛片免费播放下载| 国产a级特黄的片子视频免费| 77777午夜亚洲| 美女视频黄的全免费视频 | 免费无码又爽又刺激网站直播| 免费h成人黄漫画嘿咻破解版| 美女被艹免费视频| 亚洲毛片免费观看| 6080午夜一级毛片免费看 | 野花高清在线电影观看免费视频| 亚洲综合色丁香麻豆| 精品香蕉在线观看免费| 亚洲成年人免费网站| 无码中文在线二区免费| 亚洲另类自拍丝袜第五页| 国产成人免费a在线资源| 一级做a爰片久久毛片免费陪| 自拍偷自拍亚洲精品情侣| 久久精品乱子伦免费| 亚洲国产成人精品无码区在线秒播| 蜜桃视频在线观看免费网址入口| 亚洲欧美日韩综合久久久| 亚洲国产综合无码一区二区二三区| 成人自慰女黄网站免费大全| 亚洲精品福利视频| 成人在线视频免费| 免费人成再在线观看网站| 亚洲va在线va天堂va888www| 无人在线观看完整免费版视频| 亚洲变态另类一区二区三区| 99无码人妻一区二区三区免费 | 免费黄色毛片视频| 亚洲国产免费综合| 久久久久亚洲AV无码麻豆| 精品国产免费一区二区| 最近国语视频在线观看免费播放| 亚洲黄色网站视频| 久久久久久影院久久久久免费精品国产小说 | 国产免费私拍一区二区三区| 日韩电影免费在线观看网站|