2015年5月4日星期一 Xml学习小结

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 标签由 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 &lt; 1000 then</message>

 

这让我想起了在同花顺的时候,一个文本中有 < ,用dom树自带解析会出错,首先要对文本进行转义才可以,在如今一次在csv中对双引号和逗号要进行转义一样

 

在 XML 中,有 5 个预定义的实体引用:

&lt;

小于

&gt;

大于

&amp;

&

和号

&apos;

'

单引号

&quot;

"

引号

 

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 进行语法检查,我们创建了一个 XML 验证器

http://www.w3school.com.cn/xml/xml_validator.asp

 

 

XMLHttpRequest对象用于在后台与服务器交换数据。

send()

发送请求. 如果该请求是异步模式(默认),该方法会立刻返回. 相反,如果请求是同步模式,则直到请求的响应完全接受以后,该方法才会返回.

注意: 所有相关的事件绑定必须在调用send()方法之前进行.

 

与仅仅使用前缀不同,我们为 <table> 标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。

 

CDATA

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

在 XML 元素中,"<" 和 "&" 是非法的。

"<"会产生错误,因为解析器会把该字符解释为新元素的开始。

"&"也会产生错误,因为解析器会把该字符解释为字符实体的开始。

某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 "<![CDATA["开始,由 "]]>" 结束:

 

这种格式在 ibatis中很常见

关于 CDATA 部分的注释:

CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。

标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。

 

 

css 就是用来显示用的

xslt 也是用来显示用的,这两者只要用xml文件连接到 css 或者 xsl 文件就行了

xslt 远比css更加完善

xml dom教程

 

js 可以解析xml并访问dom  

xml必须要有可以解析xml文件的  可以参阅下 xml domloadxml()方法

当然还可以用 document 可以转换xml 文件

你可能感兴趣的:(xml)