什么是XML?如何学习XML?

1.什么是XML?
XML是一种类似于HTML的标记语言

  XML是用来描述数据的

  XML的标记不是在XML中预定义的,你必须定义自己的标记

  XML使用文档类型定义(DTD)或者模式(Schema)来描述数据

  XML使用DTD或者Schema后就是自描述的语言

附:XML和HTML的主要区别是什么?

  XML是用来存放数据的

  XML不是HTML的替代品,XML和HTML是两种不同用途的语言。

  XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。

  HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。

2.如何学习XML?

一.XML学习路线
语法规范
内部解析(DTD , XSL<XSLT,XPath,XSL-FO>, XQuery,  XLink-XPointer, SVG)
外界关联(DOM,JavaScript,HTML)

二.语法规范
1.》声明一个xml文件
<?xml version="1.0" encoding="utf-8"?>
2.》文档节点部分
<节点名></节点名>
节点/元素/标签一个意思
标签属性,区分大小写,默认全小写
或者作为单标签,自闭和<br />
3.》整个文档只能有一个根节点
如<root><a></a></root><root></root><a></a>错
4.》标签可以嵌套,但不可以互嵌套
<root><a></root></a>
5.》属性写法
属性必有值,推荐小写,必须双引号括住
html中
<input type="text" disabled>
<select>
<option></option>
<option selected></option>
<option></option>
</select>
----<option selected="selected"></option>--
6.》注释的写法
<!---这是注释---->
7.特殊字符要用实体来表示(转义)
'->&apos;
"->&quot
>->&gt;
&->&lt;

7.》如果文章中有大量'"<>
定界符CDATA来放大段文本时不考虑
<![CDATA[内容]]>

8.》一切皆节点,包括,空格,换行,注释

三.DTD - XML 构建模块(定义合法的XML文档构建模块)
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
构建模块最主要的与元素是 XML 和 HTML文档。
Elements(元素)
Attributes(属性)
Entities(实体)
PCDATA(进行解析的文本数据)
CDATA(不进行解析的文本数据)

CDATA  -指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)
PCDATA -指的是被解析的字符数据(Parsed Character Data)。
实体   -是用于定义引用普通文本或特殊字符的快捷方式的变量。
DTD 例子:
<!ENTITY writer "Bill Gates">
<!ENTITY copyright "Copyright W3School.com.cn">
XML 例子:
<author>&writer;&copyright;</author>
注释: 一个实体由三部分构成: 一个和号 (&), 一个实体名称, 以及一个分号 (;)。
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>only you know me</body>
</note>

四.XSL 指扩展样式表语言(EXtensible Stylesheet Language), 它是一个 XML 文档的样式表语言。
XSL = XML 样式表 类似于 CSS = HTML 样式表
XSL - 不仅仅是样式表语言
XSL 包括三部分:
*XSLT(EXtensible Stylesheet Language Transformations) - 一种用于转换 XML 文档的语言。
*XPath - 一种用于在 XML 文档中导航的语言。
*XSL-FO - 一种用于格式化 XML 文档的语言。


五.XQuery 之于 XML 作用就类似于 SQL 之于数据库的作用。
XQuery 被设计用来查询 XML 数据。



六.XLink 定义在 XML 文档中创建超级链接的标准方法。
XPointer 允许这些超级链接指向 XML 文档中的更多具体部分(片断)。

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="Harry Potter">
  <description
  xlink:type="simple"
  xlink:href="http://book.com/images/HPotter.gif"
  xlink:show="new">
  I am so happy to see you again.
  </description>
</book>
<book title="XQuery Kick Start">
  <description
  xlink:type="simple"
  xlink:href="http://book.com/images/XQuery.gif"
  xlink:show="new">
  You are my best friends.
  </description>
</book>
</bookstore>

<?xml version="1.0" encoding="ISO-8859-1"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
  <picture url="http://dog.com/rottweiler.gif" />
  <history>The Rottweiler's ancestors were probably Roman
  drover dogs.....</history>
  <temperament>never give up!</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
  <picture url="http://dog.com/fcretriever.gif" />
  <history>One of the earliest uses of retrieving dogs was to
  help fishermen retrieve fish from the water....</history>
  <temperament>
  I have nothing but a hot heart.
  </temperament>
</dog>
</dogbreeds>

七.SVG 使用 XML 格式定义图像。

八.XML DOM(动态调用)
那么什么是XML DOM呢?
XML DOM 是:
1.用于 XML 的标准对象模型
2.用于 XML 的标准编程接口
3.中立于平台和语言
4.W3C 的标准
XML DOM 定义了所有XML 元素的对象和属性,以及访问它们的方法(接口)。
定义访问和操作XML文档的标准方法。
DOM 将 XML 文档作为一个树形结构,而树叶被定义为节点。
---------得到整个文档
$dom=new Domdocumnet('1.0','utf-8');
$dom->load('xxx.xml');
---------得到串
$dom->getElementsByTagName('节点名');
---------得到点
$nodelist->item(0/1/2...);

九.JavaScript操作XML是通过XML DOM来完成的。

十.HTML与XML可以互相转换
为了更好地适应客户端浏览器的浏览,可以在服务器端进行
XML-HTML的转换,但普通静态空间不支持这种转换,可以选
择支持XMLDOM的ASP或PHP服务器进行。
  • 9
    点赞
  • 28
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

好像在哪里见过

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值