XML学习笔记1 基础

XML基础

XML(EXtensible Markup Language 可扩展标记语言)被设计用来传输和存储数据,其与HTML不同,后者主要用于显示数据。XML的标签没有被预定义,需要自行定义标签

XML的用途:

  • 把数据从HTML中分离
  • 纯文本存储,简化数据共享
  • 简化数据传输
  • 简化平台变更
  • 创建新的语言,例如RSS,XHTML等

XML示例

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
  • 第一行是XML声明,定义XML的版本和使用的编码
  • XML与HTML类似,也是树形结构,每个元素都可拥有文本内容和属性

XML语法规则

  • 所有XML元素都必须有关闭标签
  • XML标签对大小写敏感<Letter><letter>是不同的
  • XML元素必须被正确的嵌套
  • XML文档必须具有根元素,其是所有其他元素的父元素
  • XML的属性值必须加引号(” “),这点与HTML类似
  • 某些字符必须用实体引用来代替,否则会产生错误
    这里写图片描述
  • 注释与HTML类似
<!-- 注释 -->
  • XML中空格会被保留,而不会将多个空格合并
  • XML以LF字符存储换行

XML元素

  • XML元素名称可以包含字母、数字以及其他字符,不能包含空格
  • XML元素名称不能以数字或标点符号开头,且不能以字符”xml”(或XML、Xml)开始
  • XML元素时可扩展的,可以在不中断应用程序的情况下进行扩展

XML属性

属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护
  • XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素

使用CSS显示XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  <CD>
    <TITLE>Hide your heart</TITLE>
    <ARTIST>Bonnie Tyler</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS Records</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1988</YEAR>
  </CD>
</CATALOG>
CATALOG{
    background-color: #ffffff;
    width: 100%;
}

CD{
    display: block;
    margin-bottom: 30pt;
    margin-left: 0;
}

TITLE{
    color: #FF0000;
    font-size: 20pt;
}

ARTIST{
    color: #0000FF;
    font-size: 20pt;
}

COUNTRY,PRICE,YEAR,COMPANY{
    display: block;
    color: #000000;
    margin-left: 20pt;
}
  • 使用CSS格式化XML不是常用的方法,推荐使用XSLT

使用XSLT显示XML
XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善,首选的 XML 样式表语言

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="simple.xsl"?>
<breakfast_menu>
  <food>
    <name>Belgian Waffles</name>
    <price>$5.95</price>
    <description>
       two of our famous Belgian Waffles
    </description>
    <calories>650</calories>
  </food>
</breakfast_menu>
  • 可以在服务器上通过 XSLT 转换 XML为任意文本的描述语言
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值