數據加載中……
          JAVA XML 解析之一(準備篇)
          2008年4月21日  Edited By DingDangXiaoMa
          關于XML 在JAVA中的應用,相關技術點DOM ,SAX ,JDOM 及DOM4j 
          討論可以參考:http://java.chinaitlab.com/XMLBeans/717370_2.html
          另外可以參考:http://www.javaresearch.org/article/1181.htm
          這兩網址,都有XML的解析的例子?,F把他們的例子,實際的跑了一下,分別對四種技術的例子總結如下。
          javaresearch 上的例子。
          前提準備文件:.xml .dtd ,.xsl
          SutInfo.xml
          <?xml version="1.0"?>
          <?xml-stylesheet href="xsl\StuInfo.xsl" type="text/xsl"?>
          <!DOCTYPE LIT:StuInfo SYSTEM "dtd\student.dtd">
          <LIT:StuInfo xmlns:LIT="http://www.lit.edu.cn/student/">
              
          <LIT:student>
                  
          <LIT:name>bigmouse</LIT:name>
                  
          <LIT:sex>male</LIT:sex>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>math</LIT:lessonName>
                      
          <LIT:lessonScore>60</LIT:lessonScore>
                  
          </LIT:lesson>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>Englist</LIT:lessonName>
                      
          <LIT:lessonScore>59</LIT:lessonScore>
                  
          </LIT:lesson>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>autoCAD</LIT:lessonName>
                      
          <LIT:lessonScore>80</LIT:lessonScore>
                  
          </LIT:lesson>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>SCM</LIT:lessonName>
                      
          <LIT:lessonScore>90</LIT:lessonScore>
                  
          </LIT:lesson>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>mechanics</LIT:lessonName>
                      
          <LIT:lessonScore>61</LIT:lessonScore>
                  
          </LIT:lesson>
              
          </LIT:student>
              
          <LIT:breakLine />
              
          <LIT:student>
                  
          <LIT:name>coco</LIT:name>
                  
          <LIT:sex>female</LIT:sex>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>math</LIT:lessonName>
                      
          <LIT:lessonScore>90</LIT:lessonScore>
                  
          </LIT:lesson>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>Englist</LIT:lessonName>
                      
          <LIT:lessonScore>95</LIT:lessonScore>
                  
          </LIT:lesson>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>C++</LIT:lessonName>
                      
          <LIT:lessonScore>80</LIT:lessonScore>
                  
          </LIT:lesson>
                  
          <LIT:lesson>
                      
          <LIT:lessonName>Java</LIT:lessonName>
                      
          <LIT:lessonScore>85</LIT:lessonScore>
                  
          </LIT:lesson>
              
          </LIT:student>
              
          <LIT:breakLine />
              
          <LIT:master>&masterName;
              
          </LIT:master>
          </LIT:StuInfo>
          這個xml中的前幾行中,有xsl及.dtd聲明。一個是樣式,一個是doctype聲明。
          student.dtd
          <!ELEMENT LIT:StuInfo ((LIT:student, LIT:breakLine)*, LIT:master)>
          <!ATTLIST LIT:StuInfo xmlns:LIT CDATA #REQUIRED>
          <!ELEMENT LIT:student (LIT:name, LIT:sex, LIT:lesson*)>
          <!ELEMENT LIT:name (#PCDATA)>
          <!ELEMENT LIT:sex (#PCDATA)>
          <!ELEMENT LIT:lesson (LIT:lessonName, LIT:lessonScore)>
          <!ELEMENT LIT:lessonName (#PCDATA)>
          <!ELEMENT LIT:lessonScore (#PCDATA)>
          <!ELEMENT LIT:breakLine EMPTY>
          <!ELEMENT LIT:master (#PCDATA)>
          <!ENTITY masterName SYSTEM "master.txt">
          StuInfo.xsl
          <?xml version="1.0"?>
          <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  xmlns:LIT
          ="http://www.lit.edu.cn/student/"
                  version
          ="1.0">
              
          <xsl:template match="LIT:StuInfo">
                  
          <html>
                      
          <head>
                          
          <title>Student Information</title>
                      
          </head>
                      
          <body>
                          
          <xsl:apply-templates select="*"/>
                      
          </body>
                  
          </html>
              
          </xsl:template>

              
          <xsl:template match="LIT:student">
                  
          <li>Name:<xsl:value-of select="LIT:name"/></li>
                  
          <li>Sex:<xsl:value-of select="LIT:sex"/></li>
                  
          <xsl:for-each select="LIT:lesson">
                      
          <li>Lesson:<xsl:value-of select="LIT:lessonName"/>(<xsl:value-of select="LIT:lessonScore"/>)</li>
                  
          </xsl:for-each>
              
          </xsl:template>

              
          <xsl:template match="LIT:breakLine">
                  
          <hr/>
              
          </xsl:template>

              
          <xsl:template match="master">
                  
          <xsl:copy-of select="*"/>
              
          </xsl:template>

          </xsl:stylesheet>
          上面就是所有的配置文件了。這些文件可放在web工程的根目錄下面。也可以放在webRoot/xml/文件夾下。我就是放到這個文件夾下的,能過web方式來訪問.xml文件的,當然了,也可以通過絕對路徑來訪問這個資源。
          在下面的程序中,可能會遇到不配置上面的文件,也可在控制臺下訪問.xml打印出相關數據的。但,我還是建議你,把上面dtd.及.xsl的相關知識弄懂一些。
          這一篇就了這里,下一篇講解 DOM例子。

          posted on 2008-04-21 16:33 叮當小馬 閱讀(196) 評論(0)  編輯  收藏 所屬分類: XML

          主站蜘蛛池模板: 信阳市| 会宁县| 颍上县| 集安市| 巴楚县| 宁海县| 遵义县| 徐水县| 惠安县| 青冈县| 瑞昌市| 咸阳市| 平利县| 汉中市| 西青区| 读书| 湖南省| 泰宁县| 金山区| 库车县| 西畴县| 商城县| 阿拉善右旗| 广元市| 双鸭山市| 玛多县| 永城市| 碌曲县| 盖州市| 罗平县| 太湖县| 那坡县| 中超| 巴彦县| 焦作市| 灵宝市| 广元市| 台东县| 林西县| 仪征市| 兰溪市|