【转】XML基础学习
[color=red][b]1、前言[/b][/color] 本贴绝大部分资源均转自[url]www.xml.org.cn[/url] 声明先,免得有人说偶盗链 SHOW TIME [color=red][b]2、黄金装备[/b][/color] XML Explorer简体中文正式版(免费)XML.ORG.CN下载 (推荐这个,简单易用,比冰火双剑还要牛X) 介绍 XML Explorer是一个XML和schema编辑器。它简单易用,可以展现多个窗口。可从树状图、列表、表格、 文字模式和跳出式编辑区等方式操作任何XML资料。 * 它的copy and paste功能可以让使用者复制任何XML 文字到系统剪贴簿上,然后贴到任何XML Explorer窗口。 * 它支持双向xpath,所以只要点任何XML节点或属性,一个标准的Xpath就出来了。 * 它两栏的文字展现方式方便比较和编辑。 * 它的schema完全支持树状图、列表、集合观看模式、文字模式。 * 有了它,你还能轻易把微软Excel、Access和任何ODBC资料转成XML格式。 * 新版本在表格模式包含了XML资料分析功能。 Special Thanks: 感谢David Ren(mergesoft.com)免费为本站提供正式版本和注册码。 注意:该版本和注册码只限于在中国大陆地区使用。 注册码:1096DFDE-1962-43A0-0000-005DXBDIPKSD 英文版:[url]http://download.xml.org.cn/XMLExplorer.msi[/url] 中文版:[url]http://download.xml.org.cn/XMLExplorerCN.msi[/url] 中文版补丁:[url]http://download.xml.org.cn/xmlexplorer268cn.rar[/url] 其他工具下载: [url]http://bbs.xml.org.cn/dispbbs.asp?boardID=35&ID=6191[/url] 其他资源下载: [url]http://bbs.xml.org.cn/resource.asp[/url] 一下将采用作者“小鞋子”的入门教程,某些部分略有修改 [color=red][b]3、定义标记[/b][/color] <?xml version="1.0"?> [color=red]<book>[/color] [color=blue]<title>[/color]XML[color=blue]</title>[/color] [color=blue]<author>[/color]lisongtao[color=blue]</author>[/color] [color=red]</book>[/color] 如果文档中包含中文,就要加入编码 <?xml version="1.0" encoding="[color=black]G[/color]B2312"?> 关于编码,参见“无废话XML”的相关魔鬼教程。。。 [color=red][b]4、使用CSS样式[/b][/color] <?xml version="1.0"?> [color=red]<?xml-stylesheet type="text/css" href="1.css"?>[/color] <lisongtao> Hello the world! </lisongtao> --------------------------------------------- 1.CSS ---------------------------------------- lisongtao {display: block; font-size: 48pt; font-weight: bold;} [color=red][b]5、用XSL定义[/b][/color] 什么叫“XSL”,你可以暂且看作一个类似CSS,但比CSS更强的东西。XML语法参见其它教程,不废话这里。 1.XML -------------------------------------------- <?xml version="1.0"?> [color=red]<?xml-stylesheet type="text/xsl" href="2.xsl"?>[/color] <lisongtao> Hello the world! </lisongtao> --------------------------------------------- 2.xsl ---------------------------------------- <?xml version="1.0" encoding="[color=black]g[/color]b2312"?> [color=red]<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">[/color] [color=red]<xsl:template match="/"> [/color] <html> <head> <title>hello the world</title> </head> <body bgcolor="#CCCCFF"> <h1 align="center">[color=red]<xsl:value-of select="lisongtao"/>[/color]</h1> </body> </html> [color=red]</xsl:template> </xsl:stylesheet>[/color] [color=red][b]6、注释[/b][/color] 没什么好多讲的,和JS一样 <?xml version="1.0" encoding="[color=black]g[/color]b2312"?> [color=red]<!-- 这是一些有关书的信息 -->[/color] <books> <book> <name>xml应用</name> <author>list1</author> <price>55.00</price> </book> </books> [color=red][b]7、节点的属性[/b][/color] <?xml version="1.0"?> <books [color=red]title="list"[/color]> <book> <name>xml and asp</name> <price>45.00</price> <publisher>tsinghua </publisher> </book> </books> [color=red][b]8、特殊标记[/b][/color] XML中,< > " ' &特殊标记时,应当用< > "l ' &表示 <?xml version="1.0"?> <books height="6'5'"> <book width="6"5""> <name>list &lisongtao</name> <author>lisongtao < [email]list@263.net[/email]></author> </book> </books> [color=red][b]9、中文标记[/b][/color] 汗。。。。又一个XLTXLM性的自恋狂。。 虽然XML支持中文标签,但不建议使用。 <?xml version="1.0" encoding="[color=black]g[/color]b2312"?> <好人 > <name>小鞋子</name> </好人> [color=red][b]10、DTD数据格式[/b][/color] 你可以暂且把DTD看作一种规则,它保证xml按照这些规则来定义数据格式。 1.DTD ===================== <?xml version="1.0"?> <!ELEMENT book (price,name)> <!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)> [color=red]查资料:如果同一节点含有多个字节点,应该如何定义了?[/color] ===================== DTD.XML ================== <?xml version="1.0"?> [color=red]<!DOCTYPE book SYSTEM "1.dtd">[/color] <book> <name>lisongtao</name> <price>11.2</price> </book> [color=red][b]11、DTD直接写在XML里面[/b][/color] <?xml version="1.0"?> [color=red]<!DOCTYPE book [ <!ELEMENT book (price,name)> <!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)> ]>[/color] <book> <price>11.2</price> <name>lisongtao</name> </book> [color=red][b]12、节点的多属性[/b][/color] <?xml version="1.0" encoding="[color=black]g[/color]b2312"?> <books> <book [color=red]name=" xml应用" author="list1" price="55.00"[/color]> </book> </books> [color=red][b]13、结束标记另一种方法[/b][/color] 不推荐。。。 <?xml version="1.0" encoding="[color=black]g[/color]b2312"?> <books> <book name=" xml应用" author="list1" price="55.00"[color]/[/color]> </books> [color=red][b]14、直接显示包含特殊字符[/b][/color] 前面我们看到了,< > " ' &等特殊字符须手动修改后才能显示,如果大量了?。。。就用CDATA <?xml version="1.0" encoding="[color=red]g[/color]b2312"?> <books> [color=red]<![CDATA[ <book> <name>xml应用</name> <author>list1</author> <price>55.00</price> </book> ]]>[/color] <book> <name>xml应用</name> <author>list1</author> <price>55.00</price> </book> </books> [color=red][b]15、小结,一个完整的XML[/b][/color] <?xml version="1.0" encoding="[color=black]g[/color]b2312"?> <!--这是一个学生选课系统的所有数据--> <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>
[color=red][b]16、CSS样式定义节点[/b][/color]
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="1.css"?>
[color=red]<books>[/color]
[color=blue]<book>[/color]
<author>lisongtao</author>
<name>the application of ASP</name>
[color=blue]</book>[/color]
[color=red]</books>[/color]
---------------------------------------------------------
1.css
-----------------------------------------------------------
[color=red]books
{
display:block;
}[/color]
[color=blue]book
{
display:block;
background-color:#aabbcc
}[/color]
---------------------------------------------
心得:以上的定义方法和重定义HTML的标签样式一样,如对CSS不熟者,推荐用DW生成后再对应一下效果.很易就可以学会的.
[color=red][b]17、样式类定义XML[/b][/color]
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/css" href="3.css"?>
<list [color=red]class="listclass"[/color]>
<sublist [color=red]class="listsmall"[/color]>lisongtao</sublist>
<sublist>zhongguo</sublist>
</list>
----------------------------------------------------------
3.css
.listclass {color: red; font-size:26pt}
.listsmall {color:blue; font-size:15pt}
[color=red][b]18、类的ID定义XML[/b][/color]
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/css" href="ID.css"?>
<school>
<class [color=red]id="list"[/color]>lisongtao</class>
<monitor [color=red]id="list1"[/color]>lisongtao</monitor>
</school>
---------------------------------
ID.CSS
--------------------------------------------------
#list {font-size:28pt; color:red; display: block}
#list1 {font-size:14pt; color:blue display: block }
[color=red][b]19、XML中直接使用CSS[/b][/color]
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/css" href="sevil.txt"?>
<!--这句一定要有,而SEVIL.TXT可以换别的名字,不过中文好像这里不行.-->
<FOO [color=red]STYLE="font-weight: bold;color:red"[/color]>
Hello XML!
</FOO>
[color=red][b]20、在一个样式表中合并引用另一个样式表的方法[/b][/color]
@import url("sevil.css");
[color=red][b]21、用CSS定制个节点的块状显示[/b][/color]
XML.XML
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="[color=black]g[/color]b2312"?>
<?xml-stylesheet type="text/css" href="CSS.css"?>
<books xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
[color=red]<HTML:style>
books
{
display:block;
width:30em;
}
</HTML:style>[/color]
<book>
<author>list </author>
<name> ASP及其应用</name>
<publisher>Tsinghua University</publisher>
<price>12.30</price>
</book>
<book>
<author>James </author>
<name> XML及其应用</name>
<publisher>Tsinghua University</publisher>
<price>15.30</price>
</book>
<book>
<author>John </author>
<name> CSS及其应用</name>
<publisher>Peiking University</publisher>
<price>16.30</price>
</book>
</books>
---------------------------------------------------------------
CSS.CSS
---------------------------------------------------------------
book
{
display:block;
background-color:#AABBCC;
padding:1.2em;
margin-bottom:1em;
}
author
{
display:block;
font-size:16pt;
color:red;
}
[color=red][b]22、在同一个XML文件内引用多个CSS样式表的方法[/b][/color]
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/css" href="1.css"?>
<?xml-stylesheet type="text/css" href="2.css"?>
[color=red][b]23、在XML中使用HTML标记的方法,例插入图片[/b][/color]
<?xml version="1.0" encoding="[color=black]g[/color]b2312"?>
<?xml-stylesheet type="text/css"?>
<books xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
<book>
<author>list </author>
<name> ASP及其应用</name>
<publisher>Tsinghua University</publisher>
<price>12.30</price>
[color=red]<HTML:img src="suzh1.jpg" [b]/[/b]>[/color]
</book>
</books>
[color=red][b]24、在XML中使用HTML标记的方法(2),使用超连接[/b][/color]
<?xml version="1.0" encoding="[color=black]g[/color]b2312"?>
<?xml-stylesheet type="text/css"?>
<books xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
<book>
<author>list </author>
<name> ASP及其应用</name>
<publisher>Tsinghua University</publisher>
<price>12.30</price>
[colorred]<from><HTML:a href="http://www.263.net">263中国在线</HTML:a></from>[/color]
</book>
</books>
[color=red][b]25、在XML中使用HTML标记(3),使用<BR><p>等标记
[/b][/color]
<?xml version="1.0" encoding="[color=black]g[/color]b2312"?>
<?xml-stylesheet type="text/css"?>
<books xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
<book>
[color=red]<HTML:P>[/color]
<author>list </author>
[color=red]</HTML:P>[/color]
<name> ASP及其应用</name>
<publisher>Tsinghua University</publisher>
[color=red]<HTML:br/>[/color]
<price>12.30</price>
</book>
</books>
[color=red][b]26、在XML中使用HTML标记的方法(4),使用表格标签[/b][/color]
<?xml version="1.0" encoding="[color=black]g[/color]b2312"?>
<?xml-stylesheet type="text/css"?>
<books xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
<book>
<HTML:TABLE border="1.0" align="center">
<HTML:TR>
<HTML:TD>LIST</HTML:TD>
<HTML:TD>ASP PROGRAMING</HTML:TD>
<HTML:TD>TSINGHUA UNIVERSITY</HTML:TD>
</HTML:TR>
</HTML:TABLE>
</book>
</books>
[color=red][b]27、在XML中使用HTML标记的方法(5),使用表单[/b][/color]
汗。。。。这样子就没意思了,仅供参考
<?xml version="1.0" encoding="[color=black]g[/color]b2312"?>
<?xml-stylesheet type="text/css"?>
<books xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
<book>
<HTML:TABLE border="0" align="center">
<HTML:TR>
<HTML:TD>NAME</HTML:TD>
<HTML:TD><HTML:INPUT TYPE="TEXT"/></HTML:TD>
</HTML:TR>
<HTML:TR>
<HTML:TD>NAME</HTML:TD>
<HTML:TD><HTML:INPUT TYPE="TEXT"/></HTML:TD>
</HTML:TR>
<HTML:TR>
<HTML:TD>NAME</HTML:TD>
<HTML:TD><HTML:INPUT TYPE="TEXT"/></HTML:TD>
</HTML:TR>
</HTML:TABLE>
<HTML:CENTER>
<HTML:INPUT TYPE="SUBMIT"/><HTML:INPUT TYPE="RESET"/>
</HTML:CENTER>
</book>
</books>
[color=red][b]28、在XML中使用HTML标记的方法(6),使用JS脚本[/b][/color]
<?xml version="1.0" encoding="[color=black]g[/color]b2312"?>
<?xml-stylesheet type="text/css"?>
<books xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional">
<HTML:SCRIPT language="javascript">
var fRunning = 0
function startTrans()
{
if (fRunning == 0)
{
fRunning = 1
SampleID.filters.revealTrans.Apply();
[color=red]SampleID.src = "suzh1.jpg";[/color]
SampleID.filters.revealTrans.Play()
}
else
{
fRunning = 0
SampleID.filters.revealTrans.Apply();
[color=red]SampleID.src = "suzh2.jpg";[/color]
SampleID.filters.revealTrans.Play()
}
}
</HTML:SCRIPT>
<HTML:IMG id="SampleID" src="suzh2.jpg" width="200" height="200" style="filter:revealTrans(duration=3)" onclick="startTrans()" />
<HTML:BR />
Click image for Transition Filter: Blend
</books>
[color=red][b]29、总结CSS/HTML:[/b][/color]
其实在XML里面调用CSS来显示统一的样式很简单,主要通过一个
<?xml-stylesheet type="text/css" href="1.css"?>
这样的方法来联系起来.最好能先学学CSS的语法这样对大家很有好处.如果不太会的话,也可以用DW来自动生成CSS样式表后再联起来.呵.
致于调用HTML标记可以用<HTML:标记>这样的方法来实现.但一定要注意记他合乎XML的规则就行了.