xml学习(一)

1.理解xml和html

XML 不是 HTML 的替代。

XML 和 HTML 为不同的目的而设计:

XML 被设计为传输和存储数据,其焦点是数据的内容。

HTML 被设计用来显示数据,其焦点是数据的外观。

HTML 旨在显示信息,而 XML 旨在传输信息。

2.xml结构

XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端,

先看这个简单的例子

1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <note>
3 <to>George</to>
4 <from>John</from>
5 <heading>Reminder</heading>
6 <body>Don't forget the meeting!</body>
7 </note>

注释:

第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。

第二行和最后一行是根元素,中间是根元素的子元素。当然每个元素都可以有中间的子元素。(“<to>” “<from>”“<heading>”是

“<note>”的子元素
胡侃:我的理解是把一个xml文档看成一个数据库表,根元素相当于一个表名字,子元素相当于列名;
3.xml语法
1)xml不像html那样,有点闭合标签可以省略,但在xml中比闭合标签必须不能省略,每个元素都要被完整的怀抱。
2)在sql语句等语言中,标签的大小写是不区分的,但在xml中,对标签字母的大小写非常敏感,
例如:
<Message>这是错误的。</message>

<message>这是正确的。</message> 
3)数据库表必须有表名,xml文档必须有根元素
4)和其他语言一样,xml属性必须加引号(<note id=liu><note>这样是不对的)
5)在编写xml中我们常用到一些特殊符号,像"<"">",但当xml文档被编译的时候,有些符号常常会被编译器误解,
产生冲突,(“<”解析器会把它当作新元素的开始)为避免这种冲突,xml规范中定义了实体引用
&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; ' 单引号
&quot; " 引号
在编写xml或者html中,为了避免字符冲突,用实体引用来代替它是一个不错的方法。
在这里需要说明一下,如果某些文本,比如javascript代码,包含大量的“<”或者"&"字符,为了避免错误,可以将脚本
代码定义为CDATA。CDATA部分中的所有内容都会被解析器忽略。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>


6)xml不想html,把多个连接的字符合并成一个输出,xml中空格是保留的,
例如:
Hello           my name is David.
html输出:Hello my name is David.
xml输出:Hello my name is David.
4.浏览xml
我们知道css是修饰html页面,是其看着美观,那么css能否修饰xml呢,答案:能!
xml文件
  1 <CATALOG>
2 <CD>
3 <TITLE>Empire Burlesque</TITLE>
4 <ARTIST>Bob Dylan</ARTIST>
5 <COUNTRY>USA</COUNTRY>
6 <COMPANY>Columbia</COMPANY>
7 <PRICE>10.90</PRICE>
8 <YEAR>1985</YEAR>
9 </CD>
10 <CD>
11 <TITLE>Hide your heart</TITLE>
12 <ARTIST>Bonnie Tyler</ARTIST>
13 <COUNTRY>UK</COUNTRY>
14 <COMPANY>CBS Records</COMPANY>
15 <PRICE>9.90</PRICE>
16 <YEAR>1988</YEAR>
17 </CD>
18 <CD>
19 <TITLE>Greatest Hits</TITLE>
20 <ARTIST>Dolly Parton</ARTIST>
21 <COUNTRY>USA</COUNTRY>
22 <COMPANY>RCA</COMPANY>
23 <PRICE>9.90</PRICE>
24 <YEAR>1982</YEAR>
25 </CD>
26 <CD>
27 <TITLE>Still got the blues</TITLE>
28 <ARTIST>Gary Moore</ARTIST>
29 <COUNTRY>UK</COUNTRY>
30 <COMPANY>Virgin records</COMPANY>
31 <PRICE>10.20</PRICE>
32 <YEAR>1990</YEAR>
33 </CD>
34 <CD>
35 <TITLE>Eros</TITLE>
36 <ARTIST>Eros Ramazzotti</ARTIST>
37 <COUNTRY>EU</COUNTRY>
38 <COMPANY>BMG</COMPANY>
39 <PRICE>9.90</PRICE>
40 <YEAR>1997</YEAR>
41 </CD>
42 <CD>
43 <TITLE>One night only</TITLE>
44 <ARTIST>Bee Gees</ARTIST>
45 <COUNTRY>UK</COUNTRY>
46 <COMPANY>Polydor</COMPANY>
47 <PRICE>10.90</PRICE>
48 <YEAR>1998</YEAR>
49 </CD>
50 <CD>
51 <TITLE>Sylvias Mother</TITLE>
52 <ARTIST>Dr.Hook</ARTIST>
53 <COUNTRY>UK</COUNTRY>
54 <COMPANY>CBS</COMPANY>
55 <PRICE>8.10</PRICE>
56 <YEAR>1973</YEAR>
57 </CD>
58 <CD>
59 <TITLE>Maggie May</TITLE>
60 <ARTIST>Rod Stewart</ARTIST>
61 <COUNTRY>UK</COUNTRY>
62 <COMPANY>Pickwick</COMPANY>
63 <PRICE>8.50</PRICE>
64 <YEAR>1990</YEAR>
65 </CD>
66 <CD>
67 <TITLE>Romanza</TITLE>
68 <ARTIST>Andrea Bocelli</ARTIST>
69 <COUNTRY>EU</COUNTRY>
70 <COMPANY>Polydor</COMPANY>
71 <PRICE>10.80</PRICE>
72 <YEAR>1996</YEAR>
73 </CD>
74 <CD>
75 <TITLE>When a man loves a woman</TITLE>
76 <ARTIST>Percy Sledge</ARTIST>
77 <COUNTRY>USA</COUNTRY>
78 <COMPANY>Atlantic</COMPANY>
79 <PRICE>8.70</PRICE>
80 <YEAR>1987</YEAR>
81 </CD>
82 <CD>
83 <TITLE>Black angel</TITLE>
84 <ARTIST>Savage Rose</ARTIST>
85 <COUNTRY>EU</COUNTRY>
86 <COMPANY>Mega</COMPANY>
87 <PRICE>10.90</PRICE>
88 <YEAR>1995</YEAR>
89 </CD>
90 <CD>
91 <TITLE>1999 Grammy Nominees</TITLE>
92 <ARTIST>Many</ARTIST>
93 <COUNTRY>USA</COUNTRY>
94 <COMPANY>Grammy</COMPANY>
95 <PRICE>10.20</PRICE>
96 <YEAR>1999</YEAR>
97 </CD>
98 <CD>
99 <TITLE>For the good times</TITLE>
100 <ARTIST>Kenny Rogers</ARTIST>
101 <COUNTRY>UK</COUNTRY>
102 <COMPANY>Mucik Master</COMPANY>
103 <PRICE>8.70</PRICE>
104 <YEAR>1995</YEAR>
105 </CD>
106 <CD>
107 <TITLE>Big Willie style</TITLE>
108 <ARTIST>Will Smith</ARTIST>
109 <COUNTRY>USA</COUNTRY>
110 <COMPANY>Columbia</COMPANY>
111 <PRICE>9.90</PRICE>
112 <YEAR>1997</YEAR>
113 </CD>
114 <CD>
115 <TITLE>Tupelo Honey</TITLE>
116 <ARTIST>Van Morrison</ARTIST>
117 <COUNTRY>UK</COUNTRY>
118 <COMPANY>Polydor</COMPANY>
119 <PRICE>8.20</PRICE>
120 <YEAR>1971</YEAR>
121 </CD>
122 <CD>
123 <TITLE>The very best of</TITLE>
124 <ARTIST>Cat Stevens</ARTIST>
125 <COUNTRY>UK</COUNTRY>
126 <COMPANY>Island</COMPANY>
127 <PRICE>8.90</PRICE>
128 <YEAR>1990</YEAR>
129 </CD>
130 <CD>
131 <TITLE>Stop</TITLE>
132 <ARTIST>Sam Brown</ARTIST>
133 <COUNTRY>UK</COUNTRY>
134 <COMPANY>A and M</COMPANY>
135 <PRICE>8.90</PRICE>
136 <YEAR>1988</YEAR>
137 </CD>
138 <CD>
139 <TITLE>Bridge of Spies</TITLE>
140 <ARTIST>T'Pau</ARTIST>
141 <COUNTRY>UK</COUNTRY>
142 <COMPANY>Siren</COMPANY>
143 <PRICE>7.90</PRICE>
144 <YEAR>1987</YEAR>
145 </CD>
146 <CD>
147 <TITLE>Private Dancer</TITLE>
148 <ARTIST>Tina Turner</ARTIST>
149 <COUNTRY>UK</COUNTRY>
150 <COMPANY>Capitol</COMPANY>
151 <PRICE>8.90</PRICE>
152 <YEAR>1983</YEAR>
153 </CD>
154 <CD>
155 <TITLE>Midt om natten</TITLE>
156 <ARTIST>Kim Larsen</ARTIST>
157 <COUNTRY>EU</COUNTRY>
158 <COMPANY>Medley</COMPANY>
159 <PRICE>7.80</PRICE>
160 <YEAR>1983</YEAR>
161 </CD>
162 <CD>
163 <TITLE>Pavarotti Gala Concert</TITLE>
164 <ARTIST>Luciano Pavarotti</ARTIST>
165 <COUNTRY>UK</COUNTRY>
166 <COMPANY>DECCA</COMPANY>
167 <PRICE>9.90</PRICE>
168 <YEAR>1991</YEAR>
169 </CD>
170 <CD>
171 <TITLE>The dock of the bay</TITLE>
172 <ARTIST>Otis Redding</ARTIST>
173 <COUNTRY>USA</COUNTRY>
174 <COMPANY>Atlantic</COMPANY>
175 <PRICE>7.90</PRICE>
176 <YEAR>1987</YEAR>
177 </CD>
178 <CD>
179 <TITLE>Picture book</TITLE>
180 <ARTIST>Simply Red</ARTIST>
181 <COUNTRY>EU</COUNTRY>
182 <COMPANY>Elektra</COMPANY>
183 <PRICE>7.20</PRICE>
184 <YEAR>1985</YEAR>
185 </CD>
186 <CD>
187 <TITLE>Red</TITLE>
188 <ARTIST>The Communards</ARTIST>
189 <COUNTRY>UK</COUNTRY>
190 <COMPANY>London</COMPANY>
191 <PRICE>7.80</PRICE>
192 <YEAR>1987</YEAR>
193 </CD>
194 <CD>
195 <TITLE>Unchain my heart</TITLE>
196 <ARTIST>Joe Cocker</ARTIST>
197 <COUNTRY>USA</COUNTRY>
198 <COMPANY>EMI</COMPANY>
199 <PRICE>8.20</PRICE>
200 <YEAR>1987</YEAR>
201 </CD>
202 </CATALOG>

css文件
当用css修饰xml文件时,只需在xml文件上面加上css文件的连接即可,具体如下:
<?xml-stylesheet type="text/css" href="css文件路径"?>
其实css并不是最佳修饰xml样式表语言,而是XSLT(eXtensible Stylesheet Language Transformations),
和css一样,如果用XSLT修饰,只需在xml文件中添加XSLT的连接即可,代码如下:
<?xml-stylesheet type="text/xsl" href="simple.xsl"?>

注释:type="text/xsl"   关于XSTL的使用,可以访问XSLT 教程

   






       

原文地址:https://www.cnblogs.com/liuxiuhao/p/xml.html