XML基础学习
- XML
- 信息传输工具
- 标签未被预定义
- 具有自我描述性
- W3C的推荐标准
- XML HTML的差异
- XML:传输 存储数据
- HTML:显示数据
- 树结构
<root>
<child>
<subchild>
<subchild/>
<child/>
<root/>
- <bookstore>
- <book category="a"> 属性
- <title lang="b"> </title>
- <author> </author>
- <year> </year>
- <price> </price>
- </book>
- </bookstore>
- 语法
1.XML必须有根元素
2.声明放在第一行,例:
- <?xml version="1.0" encoding="utf-8"?>
3.XML必须有关闭标签
4.标签对大小写敏感
5.属性值加引号
6.字符会引起解析错误,实体引用
< | < | less than |
> | > | greater than 但是合法,可使用 |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
7.注释
- <!-- This is a comment -->
8.XML 以 LF 存储换行
- XML元素
1.包括:其他元素,文本,属性
2.XML 元素必须遵循以下命名规则:
- 名称可以包含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母 xml(或者 XML、Xml 等等)开始
- 名称不能包含空格
- 可使用任何名称,没有保留的字词。
3.使名称具有描述性。使用下划线的名称也很不错:<first_name>、<last_name>。
名称应简短和简单,比如:<book_title>,而不是:<the_title_of_the_book>。
避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为您想要从 first 里边减去 name。
避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。
- XML属性
<file type='gif'>computer.gif</file>
属性必须加引号
包括date的扩展实例,避免使用属性,多使用扩展
- <note>
- <date>
- <day>10</day>
- <month>1</month>
- </date>
- <to>A</to>
- <from>B</from>
- <heading>head</heading>
- <body>23333333333333</body>
- </note>
因使用属性而引起的一些问题:
- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不容易扩展(为未来的变化)
属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
向元素分配id
id 属性仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分
- <messages>
- <note id="501">
- <to>Tove</to>
- <from>Jani</from>
- <heading>Reminder</heading>
- <body>Don't forget me this weekend!</body>
- </note>
- <note id="502">
- <to>Jani</to>
- <from>Tove</from>
- <heading>Re: Reminder</heading>
- <body>I will not</body>
- </note>
- </messages>
- 元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
- XML验证
通过DTD验证XML是否“合法”,形式良好,有正确的语法规则,即:
- XML 文档必须有一个根元素
- XML元素都必须有一个关闭标签
- XML 标签对大小写敏感
- XML 元素必须被正确的嵌套
- XML 属性值必须加引号
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!DOCTYPE note SYSTEM "Note.dtd">
- <note>
- <to>Tove</to>
- <from>Jani</from>
- <heading>Reminder</heading>
- <body>Don't forget me this weekend!</body>
- </note>
DOCTYPE 声明是对外部 DTD 文件的引用
DTD 的目的是定义 XML 文档的结构。
- <!DOCTYPE note
- [
- <!ELEMENT note (to,from,heading,body)>
- <!ELEMENT to (#PCDATA)>
- <!ELEMENT from (#PCDATA)>
- <!ELEMENT heading (#PCDATA)>
- <!ELEMENT body (#PCDATA)>
- ]>
W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema
- <xs:element name="note">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="to" type="xs:string"/>
- <xs:element name="from" type="xs:string"/>
- <xs:element name="heading" type="xs:string"/>
- <xs:element name="body" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- XML的显示
XML文档不会携带如何显示数据的信息,多数浏览器仅会显示为源代码
- 使用CSS显示XML
CSS文件
- 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;
- }
第二行把 XML 文件链接到 CSS 文件, 该链接为显示样式:
http://www.runoob.com/try/xml/cd_catalog_with_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>
- 使用XSLT(eXtensible Stylesheet Language Transformations)显示XML
链接为实例:
http://www.runoob.com/try/tryxslt.php?xmlfile=simple&xsltfile=simple
XSLT 是在浏览器显示 XML 文件之前,先把它转换为 HTML
可以在服务器上进行 XSLT 转换
XML基础学习的更多相关文章
- xml基础学习笔记05
Xpath快速解析 如题一样,本篇主要说说Xpath快速查找XML文档 * Xpatn.Xquery,是专门用来查询xml的语言 * 查询xml非常快 Xpatn.Xquery,是专门用来 ...
- xml基础学习笔记03
继续上篇xml学习笔记,坚持.坚持.再坚持啊.... 本篇主要记录: 35.XML节点的删除与修改 36集.用XML制作RSS订阅源 <?php /* 笔记: 35.XML节点的删除与修改 使用 ...
- 转载---SQL Server XML基础学习之<5>--XQuery(query)
本章写一些SQL Server XML的一些XQuery基础语法,主要讲的query查询语法 T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集. XQuery 基于现有的 XPa ...
- XML 基础学习
在w3school看到了XML的教程,想到以前工作学习中也接触到了XML,但只是简单搜索了解了下,没有认真去学习XML的基础,所以现在认真看下其基础部分,并写篇博客作为笔记记录下. XML 简介 XM ...
- XML基础学习01
XML学习 1:XML:可扩展的标识语言,是一种描述结构数据的格式,简化了网络中数据交换和表示,使得代码,数据和表示分离,并作为数据交换的标准格式,被称为智能数据文档. 2:当我们不使用数据库来存储数 ...
- xml基础学习笔记04
今天继续xml学习,主要是:SimpleXML快速解析文档.xml与数组相互转换 .博客中只是简单的做一个学习记录.积累.更加详细的使用方法,可以查看php手册 1.SimpleXML快速解析文档 前 ...
- xml基础学习笔记01
注意:刚刚看了网上对于XML中的标签,节点和元素?到底应该怎么表述?起初我也有这个疑惑,现在我的想法是:下面出现node的应称作节点,节点对象.element应称作元素,毕竟这更符合英文的本意.至于标 ...
- xml 基础学习备忘
<?xml version="1.0" encoding="UTF-8"? standalone="yes"> 这里的encod ...
- XML基础学习02<linq to xml>
Linq to XML的理解 1:这是一种比较好的操作Xml的工具. àXDocument 文档 àXElement 元素 àXAttribute 属性 àXText 文本 2:这里还是和我们之前创建 ...
- SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除
/*------------------------------------------------------------------------------+ #| = : = : = : = : ...
随机推荐
- python 全栈开发笔记 4
反射 1.通过字符串的形式导入模块 2.通过字符串的形式,去模块中寻找指定函数并执行 ''' def f1(): return 'F1' def f2(): return 'F2' ''' #假设上面 ...
- Python之OS内置模块
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curd ...
- C++ Coroutine简明教程
在C++里,一个函数如果其函数体实现中包含co_await.co_yield.co_return中任何一个关键字,那么这个函数就是一个coroutine.其中: co_await:挂起当前的corou ...
- Vmware Vsan 部署中如何将非SSD 硬盘标识为SSD
通过SSH 登录ESXi主机 # esxcli storage nmp device list #查询ESXI 发现的存储设备 # esxcli storage nmp satp rule add ...
- 吴恩达机器学习笔记5-Octave基本操作
1.逻辑运算 1==2 %false :注释用%,这句话意思是判断1是否等于2,false,输出0 1~=2 %true 1不等于2 为true,输出为1 1&&0 %and 1|| ...
- jmeter 常用组件详解
1.测试计划(test plan) 描述一个性能测试,包含本次测试所有相关功能 2.threads(users)线程 Setup thread group: 一种特殊类型的线程,可用于执行预测试操作. ...
- EF简单的CURD操作
/// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...
- String Method的字符串变换的一个例子
<!DOCTYPE html> <html lang="en"><head> <meta charset="UTF-8" ...
- socket网络编程-----I/O复用之select函数
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/soc ...
- Jenkins使用QQ邮箱构建邮件提醒服务
前置条件: 已安装好Jenkins服务端 步骤: 访问Jenkins服务端(ip+端口),登录Jenkins 点击系统管理 选择管理插件 选择可选插件 搜索Mailer Plugin 点击直接安装 点 ...