XML基础用例

寫XML文件
<?xml version="1.0"?>   定義標記
<book>
    <title>XML</title>
    <author>lisongtao</author>
</book>
主要是注意語法的套用

 

用CSS來顯示XML:
1.XML
--------------------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="1.css"?>   ''連接CSS樣式表
<lisongtao>
Hello the world!
</lisongtao>
---------------------------------------------
1.CSS
----------------------------------------
lisongtao {display: block; font-size: 48pt; font-weight: bold;}
 
用XLS來顯示XML:
1.XML
--------------------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="2.xls"?>   ''''連接XLS
<lisongtao>
Hello the world!
</lisongtao>
---------------------------------------------
2.xsL
----------------------------------------
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">   ''定議模板開始
<xsl:template match="/"> ''根標記
<html>
<head>
<title>hello the world</title>
</head>
<body bgcolor="#CCCCFF">
<h1 align="center"><xsl:value-of select="lisongtao"/></h1>''子節點
</body>
</html>
</xsl:template>
</xsl:stylesheet>

XML  的注釋和JS一樣.

<?xml version="1.0" encoding="gb2312"?>
<!--
这是一些有关书的信息
-->
<books>
    <book>
        <name>xml应用</name>
<author>list1</author>
        <price>55.00</price>
</book>
</books>

帶屬性的XML節點

<?xml version="1.0"?>
<books title="list">
    <book>
         <name>xml and asp</name>
         <price>45.00</price>
         <publisher>tsinghua </publisher>
    </book>
</books>

特殊標記的用法:

<?xml version="1.0"?>
<books height="6&apos;5&apos;">
   <book  width="6"5"">
<name>list &lisongtao</name>
<author>lisongtao < list@263.net></author>
   </book>
</books>

XML中的中文標示:
<?xml version="1.0" encoding="gb2312"?>
   <好人 >  
   <name>xyz</name>
   </好人>

DTD的使用一例

1.DTD
=====================
<?xml version="1.0"?>
<!ELEMENT book (price,name)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
=====================
DTD.XML
==================
<?xml version="1.0"?>
<!DOCTYPE book SYSTEM "1.dtd">
<book>
     <name>lisongtao</name>
 <price>11.2</price>
</book>

把DTD写在XML文件里面

<?xml version="1.0"?>
<!DOCTYPE book [
<!ELEMENT book (price,name)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>
<book>
<price>11.2</price>
<name>lisongtao</name>
</book>

节点的多属性

<?xml version="1.0" encoding="gb2312"?>
<books>
    <book name=" xml应用" author="list1" price="55.00">
</book>
</books>

可缺省的结束标记的方法
<?xml version="1.0" encoding="gb2312"?>
<books>
    <book name=" xml应用" author="list1" price="55.00"/>注意这里多了个"/"
</books>

CDATA文件标记的用法一例

<?xml version="1.0" encoding="gb2312"?>
<books>

<![CDATA[
<book>
        <name>xml应用</name>
<author>list1</author>
        <price>55.00</price>
</book>
]]>
    <book>
        <name>xml应用</name>
<author>list1</author>
        <price>55.00</price>
</book>
</books>

 

 

经过以上的学习.总算写出一个标准的XML文件

<?xml version="1.0" encoding="gb2312"?>
<!--这是一个学生选课系统的所有数据-->
<choose_system>
<students>
    <student id="984610" lesson_id="11">
          <name>栗松涛</name>
          <age>25</age>
          <sex>男</sex>
          <department>自动化</department> 
    </student>
    <student id="984611" lesson_id="12">
          <name>李未</name>
          <age>26</age>
          <sex>男</sex>
          <department>自动化</department> 
    </student>
    <student id="984612" lesson_id="11">
          <name>张红</name>
          <age>23</age>
          <sex>男</sex>
          <department>自动化</department> 
    </student>
    <student id="984613" lesson_id="12">
          <name>李亮</name>
          <age>25</age>
          <sex>男</sex>
          <department>自动化</department> 
    </student>
</students>

<lessons>
     <lesson id="11">
          <name>控制原理</name>
          <num>12</num>
          <les_start>99.2</les_start>
          <les_end>99.7</les_end>
          <end_method>考试</end_method>
     </lesson>
       <lesson id="12">
          <name>网络原理</name>
          <num>11</num>
          <les_start>99.3</les_start>
          <les_end>99.6</les_end>
          <end_method>通过</end_method>
     </lesson>

</lessons>
<teachers>
   <teacher id="1122" lesson_id="11">
             <name>江华</name>
             <age>33</age>
             <tea_age>3</tea_age>
             <rank>教授</rank>
             <publish>控制原理</publish>
             <sex>男</sex>
      </teacher>
   <teacher id="1123" lesson_id="12">
             <name>刘佳</name>
             <age>40</age>
             <tea_age>7</tea_age>
             <rank>副教授</rank>
             <publish>网络原理</publish>
             <sex>男</sex>
      </teacher> 
</teachers>
</choose_system>

 

1.通過XSL來顯示XML的一般方法
==============================
XML.XML
----------------------------------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="1.xsl"?><!--连接XSL的方法,是不是和连接CSS很像啊??呵.-->
<persons>
  <person>
      <name> lisongtaow </name>
     
      <age>25</age>
      <tel>66666666</tel>
  </person>
  <person>
      <name> lisongtao1</name>
      <age>26</age>
      <tel>66666667</tel>
  </person>  
  <person>
      <name>lisongtao3</name>
      <age>28</age>
      <tel>66666669</tel>
  </person>
</persons>

-----------------------------------------------------------------------
1.xsl
----------------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
    <html>
     <body>
       <center>
       <h2>the notepad</h2>
       <table border="1">
           <tr>
                <td>name</td>
                <td>age</td>
                <td>tel</td>
           </tr>
      <xsl:for-each select="persons/person">
           <tr>
                <td><xsl:value-of select="name"/></td>
                <td><xsl:value-of select="age"/></td>
                <td><xsl:value-of select="tel"/></td>
           </tr>
      </xsl:for-each>
<!--循环输出语块,其中"persons/person"代表着路径-->
       </table>
       </center>
     </body>
    </html>
</xsl:template>
</xsl:stylesheet>

 

做完这个例子先总结一下:
在XSL的定义方法其实是一个HTML的全显示格式.我们可以用DW直观的编辑好.再加入代码.
这里XSL我们可以理解成为一个模板.
其主要的定义方法有一个规则:
以后我们再写XSL时就可以把这东东COPY出来了.不用老是对着书打.呵...
--------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
 <xsl:template match="/">
 
</xsl:template>
</xsl:stylesheet>
----------------------------------------------------------- 

 

 2.输出某节点下的所有内容..

上一例子我们成功地用XSL输出了XML里面数据.
如果我们只要输出某相同节点其下的内容.我们可以这样做.
=======================
1.xml
要求:输出XSL的"persons/person/tel/hometel"下面的所有内容.这里"person"可以是多层
--------------------------------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="2.xsl"?>
<persons>
  <person>
      <name>lisongtao</name>
      <age>25</age>
      <tel><hometel>
           <tel>64456787</tel>
           <childhometel>64456785</childhometel>
          </hometel>
          <offtel>44442222</offtel>
          <worktel>3333333</worktel>
      </tel>
 </person>
 <person>
      <name>liwei</name>
      <age>25</age>
      <tel><hometel>
           <tel>66545434</tel>
           <childhometel>65433333</childhometel>
          </hometel>
          <offtel>64442222</offtel>
          <worktel>6333333</worktel>
      </tel>
 </person>
 <person>
      <name>zhangxue</name>
      <age>25</age>
      <tel><hometel>
          <tel>84343434</tel>
          <childhometel>8333333</childhometel>
          </hometel>
          <offtel>84442222</offtel>
          <worktel>8333333</worktel>
      </tel>
 </person>
 <person>
      <name>wure</name>
      <age>26</age>
      <tel>66666667</tel>
 </person>  
</persons>
================================
2.xsl
-----------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
    <html>
     <body>
       <center>
       <h2>the notepad</h2>
       <table border="1">
           <tr>
                <td>name</td>
           </tr>
      <xsl:for-each select="persons/person/tel/hometel/*">
           <tr>
                <td><xsl:value-of select="."/></td>
            </tr>
      </xsl:for-each>
<!--注意FOR-EACH的SELECT路径.然后用value-OF输出全部所要求的节点内容-->
       </table>
       </center>
     </body>
    </html>
</xsl:template>
</xsl:stylesheet>
 
用XSL让XML文件使用到节点属性的搜索功能
xml.xml
---------------------------------------------------------------------------------------
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
<students>
<student id="98789">
    <name>廖西</name>
    <sex>女</sex>
    <birthday type="阳历">1987.2</birthday>
    <phone>1303456787</phone>
    <skill>唱歌</skill>
    <dd>asdf
    <ee>asdf</ee></dd>
    <list>asdf</list>
</student>
<student id="98788">
    <name>小记</name>
    <sex>女</sex>
    <birthday>1975.6</birthday>
    <phone>13901145678</phone>
    <skill>爬山</skill>
</student>
<student id="98785">
    <name>江南</name>
    <sex>女</sex>
    <birthday>1978.8</birthday>
    <phone>64576786</phone>
    <skill>网络</skill>
</student>
<student>
    <name>小红</name>
    <sex>男</sex>
    <birthday>1976.2</birthday>
    <phone>62775466</phone>
    <skill>网络</skill>
    <skill>书法</skill>
</student>
</students>
--------------------------------------------------------------------
xsl.xsl
---------------------------------------------------------------
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<center> <h1>学号是"98789"的学生的生日是:<xsl:value-of select="/students/student[@id='98789']/birthday"/></h1></center>
 </xsl:template>
</xsl:stylesheet>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值