2015年5月4日星期一 Xml学习小结
What
Xml和html格式是古老的标准通用标记语言
XML 被设计用来传输和存储数据。
HTML 被设计用来显示数据
仅仅是用来传输数据之用
什么是 XML?
· XML 指可扩展标记语言(EXtensible Markup Language)
· XML 是一种标记语言,很类似 HTML
· XML 的设计宗旨是传输数据,而非显示数据
· XML 标签没有被预定义。您需要自行定义标签。
· XML 被设计为具有自我描述性。
· XML 是 W3C 的推荐标准
Why
XML 是独立于软件和硬件的信息传输工具。
在 信息存储 和描述领域
Xml 可以把数据独立于html ,专注于数据,只需要不多的js代码,html即可读取xml文件,然后更新html数据内容
还可以在不同系统之间轻松交换数据
XML 是独立于软件和硬件的信息传输工具。
在 信息存储 和描述领域
Xml 可以把数据独立于html ,专注于数据,只需要不多的js代码,html即可读取xml文件,然后更新html数据内容
还可以在不同系统之间轻松交换数据
XML 文档不会携带有关如何显示数据的信息。
由于 XML 标签由 XML 文档的作者“发明”,浏览器无法确定像<table> 这样一个标签究竟描述一个 HTML 表格还是一个餐桌。
在没有任何有关如何显示数据的信息的情况下,大多数的浏览器都会仅仅把 XML 文档显示为源代码。
如何解决个性化显示xml文件呢, CSS、XSL、JavaScript 以及 XML 数据岛能够帮助我们实现
Where
在web开发中,各种配置文件,结合使用xml schema等
不同框架中,不同标签也变得有意义了,用dom树 HttpXmlResquest等
How
Xml树 自定义标签 需要关闭标签,但是xml声明没有关闭,是由于
您也许已经注意到 XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。
XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。
为了避免这个错误,请用实体引用来代替 "<" 字符:
<message>if salary < 1000 then</message>
这让我想起了在同花顺的时候,一个文本中有 < ,用dom树自带解析会出错,首先要对文本进行转义才可以,在如今一次在csv中对双引号和逗号要进行转义一样
在 XML 中,有 5 个预定义的实体引用:
< |
< |
小于 |
> |
> |
大于 |
& |
& |
和号 |
' |
' |
单引号 |
" |
" |
引号 |
HTML 会把多个连续的空格字符裁减(合并)为一个:
HTML: Hello my name is David.
输出: Hello my name is David.
在 XML 中,文档中的空格不会被删节。
XML 命名规则
XML 元素必须遵循以下命名规则:
· 名称可以含字母、数字以及其他的字符
· 名称不能以数字或者标点符号开始
· 名称不能以字符 “xml”(或者 XML、Xml)开始
· 名称不能包含空格
使名称具有描述性。使用下划线的名称也很不错。
名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。
避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。
避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。
非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。
我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。
避免 XML 属性?
因使用属性而引起的一些问题:
· 属性无法包含多重的值(元素可以)
· 属性无法描述树结构(元素可以)
· 属性不易扩展(为未来的变化)
· 属性难以阅读和维护
请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
“形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则:
· XML 文档必须有根元素
· XML 文档必须有关闭标签
· XML 标签对大小写敏感
· XML 元素必须被正确的嵌套
· XML 属性必须加引号
W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema: xml 可以引用 DTD 都需要遵守一定规则
Advantage
XML 的优势之一,就是可以经常在不中断应用程序的情况进行扩展
小技巧:
为了帮助您对 XML 进行语法检查,我们创建了一个 XML 验证器
http://www.w3school.com.cn/xml/xml_validator.asp
XMLHttpRequest对象用于在后台与服务器交换数据。
发送请求. 如果该请求是异步模式(默认),该方法会立刻返回. 相反,如果请求是同步模式,则直到请求的响应完全接受以后,该方法才会返回.
注意: 所有相关的事件绑定必须在调用send()
方法之前进行
.
与仅仅使用前缀不同,我们为 <table> 标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,"<" 和 "&" 是非法的。
"<"会产生错误,因为解析器会把该字符解释为新元素的开始。
"&"也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 "<![CDATA["开始,由 "]]>" 结束:
这种格式在 ibatis中很常见
CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。
标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。
css 就是用来显示用的
xslt 也是用来显示用的,这两者只要用xml文件连接到 css 或者 xsl 文件就行了
xslt 远比css更加完善
xml dom教程
js 可以解析xml并访问dom
xml必须要有可以解析xml文件的 可以参阅下 xml domloadxml()方法
当然还可以用 document 可以转换xml 文件