寫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'5'">
<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>