xml入门经典教程

上传人:仙*** 文档编号:87875246 上传时间:2022-05-10 格式:DOC 页数:63 大小:218KB
收藏 版权申诉 举报 下载
xml入门经典教程_第1页
第1页 / 共63页
xml入门经典教程_第2页
第2页 / 共63页
xml入门经典教程_第3页
第3页 / 共63页
资源描述:

《xml入门经典教程》由会员分享,可在线阅读,更多相关《xml入门经典教程(63页珍藏版)》请在装配图网上搜索。

1、-*ML入门经典教程目录*ML 根底*ML 简介什么是 *ML,以及它与 HTML 的区别。 如何使用 *ML不同的 *ML 使用方式。 *ML 树构造*ML 文档如何形成一种有逻辑的树构造。 *ML 语法有逻辑且非常简单的 *ML 语法规则。 *ML 元素*ML 元素、内容和命名规则、父与子元素之间的关系。 *ML 属性如何使用 *ML 属性提供关于元素的额外信息。 *ML 验证形式良好的文档与合法文档之间的差异,以及如何规定 *ML 文档的构造。 *ML 验证器简单的 *ML 在线语法检查工具。 *ML 浏览器支持大局部常用的浏览器对 *ML 的支持 在浏览器中查看 *ML如何通过您的浏览

2、器来查看 *ML 文件。 使用 CSS 来显示 *ML如何使用 CSS 来显示一个 *ML 文件。 使用 *SL 来显示 *ML如何使用 *SL 来显示一个 *ML 文件。 *ML JavaScript*ML 解析器如何使用浏览器来读取、更新、创立并操作 *ML 文档。 *ML DOM关于 *ML 文档对象模型DOM。 *ML to HTML如何在 HTML 文档中显示 *ML 数据。 *ML Request 对象如何在不重新加载页面的情况下,使用来自效劳器的数据对页面进展更新。 *ML 应用程序如何使用 *ML 数据和 JavaScript 来创立复杂的 HTML 应用程序。 *ML 高级*

3、ML 命名空间如何使用 *ML 命名空间防止元素命名冲突。 *ML CDATA如何告知 *ML 解析器不去解析文本。 *ML 编码如何在您的 *ML 文档使用不同的字符集。 *ML 效劳器如何从效劳器端输出 *ML。 *ML DOM 高级更多关于 *ML 文档对象模型的知识。 *ML Dont本节讲解在在使用 *ML 时尽量防止使用的技术。 把数据存储到 *ML 文件通常地,我们在数据库中存储数据。不过,假设我们希望数据更加易用,则可以将数据存储于 *ML 文件之中。 *ML 技术与 *ML 相关的最常用的技术。 现实生活中的 *ML在现实世界中 *ML 如何被使用的例子。 *ML 编辑器当编

4、辑 *ML 文档时,为什么要使用 *ML 编辑器。 *ML 总结本文包括在本教程所学内容的一个总结,以及我们向你推荐的下一步应该学习的内容。 *ML 实例/测验*ML 实例非常多的 *ML 实例! *ML 测验在 W3School 测试你的 *ML 技能! 01、*ML 简介 Previous Page Ne*t Page*ML 被设计用来传输和存储数据。HTML 被设计用来显示数据。应该掌握的根底知识:在您继续学习之前,需要对以下知识有根本的了解: HTML / *HTML JavaScript 如果您希望首先学习这些工程,请在我们的 首页 访问这些教程。什么是 *ML *ML 指可扩展标记

5、语言E*tensible Markup Language *ML 是一种标记语言,很类似 HTML *ML 的设计宗旨是传输数据,而非显示数据 *ML 标签没有被预定义。您需要自行定义标签。 *ML 被设计为具有自我描述性。 *ML 是 W3C 的推荐标准*ML 与 HTML 的主要差异*ML 不是 HTML 的替代。*ML 和 HTML 为不同的目的而设计:*ML 被设计为传输和存储数据,其焦点是数据的内容。HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 *ML 旨在传输信息。*ML 是不作为的没有任何行为的 *ML也许这有点难以理解,但是 *ML 不会做任何事

6、情。*ML 被设计用来构造化、存储以及传输信息。下面是 John 写给 George 的便签,存储为 *ML:GeorgeJohnReminderDont forget the meeting!这个标签有标题以及留言。它也包含了发送者和承受者的信息。但是,这个 *ML 文档仍然没有做任何事情。它仅仅是包装在 *ML 标签中的纯粹的信息。我们需要编写软件或者程序,才能传送、接收和显示出这个文档。*ML 仅仅是纯文本*ML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 *ML。不过,能够读懂 *ML 的应用程序可以有针对性地处理 *ML 的标签。标签的功能性意义依赖于应用程序

7、的特性。通过 *ML 您可以创造自己的标签上例中的标签没有在任何 *ML 标准中定义过比方 和 。这些标签是由文档的创作者创造的。这是因为 *ML 没有预定义的标签。在 HTML 中使用的标签以及 HTML 的构造是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签比方 、 等等。*ML 允许创作者定义自己的标签和自己的文档构造。*ML 不是对 HTML 的替代*ML 是对 HTML 的补充。*ML 不是对 HTML 的替代,理解这一点很重要。在大多数 web 应用程序中,*ML 用于传输数据,而 HTML 用于格式化并显示数据。对 *ML 的最好的描述是:*ML 是独立于软件和硬

8、件的信息传输工具。*ML 是 W3C 的推荐标准可扩展标记语言 (*ML) 于 1998 年 2 月 10 日成为 W3C 的推荐标准。*ML 无所不在当我们看到 *ML 标准突飞猛进的开发进度,以及大批的软件开发商采用这个标准的日新月异的速度时,真的是不禁感慨这真是令人叹为观止。目前,*ML 在 Web 中起到的作用不会亚于一直作为 Web 基石的 HTML。*ML 无所不在。*ML 是各种应用程序之间进展数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。02、*ML 的用途 Previous Page Ne*t Page*ML 应用于 web 开发的许多方面,常用于简化数据的

9、存储和共享。*ML 把数据从 HTML 别离如果你需要在 HTML 文档中显示动态数据,则每当数据改变时将花费大量的时间来编辑 HTML。通过 *ML,数据能够存储在独立的 *ML 文件中。这样你就可以专注于使用 HTML 进展布局和显示,并确保修改底层数据不再需要对 HTML 进展任何的改变。通过使用几行 JavaScript,你就可以读取一个外部 *ML 文件,然后更新 HTML 中的数据内容。您将在稍后的章节学习更多这方面的内容。*ML 简化数据共享在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。*ML 数据以纯文本格式进展存储,因此提供了一种独立于软件和硬件的数据存储方法。

10、这让创立不同应用程序可以共享的数据变得更加容易。*ML 简化数据传输通过 *ML,可以在不兼容的系统之间轻松地交换数据。对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。由于可以通过各种不兼容的应用程序来读取数据,以 *ML 交换数据降低了这种复杂性。*ML 简化平台的变更升级到新的系统硬件或软件平台,总是非常费时的。必须转换大量的数据,不兼容的数据经常会丧失。*ML 数据以文本格式存储。这使得 *ML 在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。*ML 使您的数据更有用由于 *ML 独立于硬件、软件以及应用程序,*ML 使您的数据

11、更可用,也更有用。不同的应用程序都能够访问您的数据,不仅仅在 HTML 页中,也可以从 *ML 数据源中进展访问。通过 *ML,您的数据可供各种阅读设备使用手持的计算机、语音设备、新闻阅读器等,还可以供盲人或其他残障人士使用。*ML 用于创立新的 Internet 语言很多新的 Internet 语言是通过 *ML 创立的:其中的例子包括: *HTML - 最新的 HTML 版本 WSDL - 用于描述可用的 web service WAP 和 WML - 用于手持设备的标记语言 RSS - 用于 RSS feed 的语言 RDF 和 OWL - 用于描述资源和本体 SMIL - 用于描述针针

12、对 web 的多媒体 03、*ML 树构造 Previous Page Ne*t Page*ML 文档形成了一种树构造,它从根部开场,然后扩展到枝叶。一个 *ML 文档实例*ML 使用了简单的具有自我描述性的语法:GeorgeJohnReminderDont forget the meeting!第一行是 *ML 声明。它定义 *ML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。下一行描述文档的根元素像在说:本文档是一个便签:接下来 4 行描述根的 4 个子元素to, from, heading 以及 body:GeorgeJohnRemind

13、erDont forget the meeting!最后一行定义根元素的结尾:从本例可以设想,该 *ML 文档包含了 John 给 George 的一*便签。*ML 具有出色的自我描述性,你同意吗?*ML 文档形成一种树构造*ML 文档必须包含根元素。该元素是所有其他元素的父元素*ML 文档中的元素形成了一棵文档树。这棵树从根部开场,并扩展到树的最底端。所有元素均可拥有子元素: . 父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。一样层级上的子元素成为同胞兄弟或姐妹。所有元素均可拥有文本内容和属性类似 HTML 中。实例上图表示下面的 *ML 中的一本书: Everyday It

14、alian Giada De Laurentiis 2005 30.00 Harry Potter J K. Rowling 2005 29.99 Learning *ML Erik T. Ray 2003 39.95 例子中的根元素是 。文档中的所有 元素都被包含在 中。 元素有 4 个子元素:、。04、*ML 语法规则 Previous Page Ne*t Page*ML 的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。所有 *ML 元素都须有关闭标签在 HTML,经常会看到没有关闭标签的元素:This is a paragraphThis is another parag

15、raph在 *ML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:This is a paragraphThis is another paragraph 注释:您也许已经注意到 *ML 声明没有关闭标签。这不是错误。声明不属于*ML本身的组成局部。它不是 *ML 元素,也不需要关闭标签。*ML 标签对大小写敏感*ML 元素使用 *ML 标签进展定义。*ML 标签对大小写敏感。在 *ML 中,标签 与标签 是不同的。必须使用一样的大小写来编写翻开标签和关闭标签:这是错误的。这是正确的。 注释:翻开标签和关闭标签通常被称为开场标签和完毕标签。不管您喜欢哪种术语,它们的概念都是一样的。*ML

16、 必须正确地嵌套在 HTML 中,常会看到没有正确嵌套的元素:This te*t is bold and italic在 *ML 中,所有元素都必须彼此正确地嵌套:This te*t is bold and italic在上例中,正确嵌套的意思是:由于 元素是在 元素内翻开的,则它必须在 元素内关闭。*ML 文档必须有根元素*ML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。 . *ML 的属性值须加引号与 HTML 类似,*ML 也可拥有属性名称/值的对。在 *ML 中,*ML 的属性值须加引号。请研究下面的两个 *ML 文档。第一个是错误的,第二个是正确的:GeorgeJo

17、hn GeorgeJohn 在第一个文档中的错误是,note 元素中的 date 属性没有加引号。实体引用&在 *ML 中,一些字符拥有特殊的意义。如果你把字符 放在 *ML 元素中,会发生错误,这是因为解析器会把它当作新元素的开场。这样会产生 *ML 错误:if salary 1000 then为了防止这个错误,请用一个实体引用来代替 字符:if salary < 1000 then 在 *ML 中,有 5 个预定义的实体引用:<大于&&和号'单引号"引号注释:在 *ML 中,只有字符 和 & 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个

18、好习惯。*ML 中的注释在 *ML 中编写注释的语法与 HTML 的语法很相似: *ML 中的空格会被保存HTML 会把多个连续的空格字符裁减为一个:HTML:Hello my name is David.输出:Hello my name is David.在 *ML 中,文档中的空格不会被删节。*ML 以LF 存储换行在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Uni* 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。05、*ML 元素 Previou

19、s Page Ne*t Page*ML 文档包含 *ML 元素。什么是 *ML 元素?*ML 元素指的是从且包括开场标签直到且包括完毕标签的局部。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。 Harry Potter J K. Rowling 2005 29.99 Learning *ML Erik T. Ray 2003 39.95 在上例中, 和 都拥有元素内容,因为它们包含了其他元素。 只有文本内容,因为它仅包含文本。在上例中,只有 元素拥有属性 (category=CHILDREN)。*ML 命名规则*ML 元素必须遵循以下命名规则: 名称可以含字母、数字以及其他的字

20、符 名称不能以数字或者标点符号开场 名称不能以字符 *ml或者 *ML、*ml开场 名称不能包含空格 可使用任何名称,没有保存的字词。最正确命名习惯使名称具有描述性。使用下划线的名称也很不错。名称应当比拟简短,比方:,而不是:。防止 - 字符。如果您按照这样的方式进展命名:first-name,一些软件会认为你需要提取第一个单词。防止 . 字符。如果您按照这样的方式进展命名:first.name,一些软件会认为 name 是对象 first 的属性。防止 : 字符。冒号会被转换为命名空间来使用稍后介绍。*ML 文档经常有一个对应的数据库,其中的字段会对应 *ML 文档中的元素。有一个实用的经历

21、,即使用数据库的名称规则来命名 *ML 文档中的元素。非英语的字母比方 也是合法的 *ML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。*ML 元素是可扩展的增加新元素*ML 元素是可扩展,以携带更多的信息。请看下面这个 *ML 例子:GeorgeJohnDont forget the meeting! 让我们设想一下,我们创立了一个应用程序,可将 、 以及 元素提取出来,并产生以下的输出:MESSAGETo: GeorgeFrom: JohnDont forget the meeting!想象一下,之后这个 *ML 文档作者又向这个文档添加了一些额外的信息:2008-08

22、-08GeorgeJohnReminderDont forget the meeting!则这个应用程序会中断或崩溃吗?不会。这个应用程序仍然可以找到 *ML 文档中的 、 以及 元素,并产生同样的输出。*ML 的优势之一,就是可以经常在不中断应用程序的情况进展扩展。06、*ML 属性 Previous Page Ne*t Page*ML 元素可以在开场标签中包含属性,类似 HTML。*ML 属性 (Attribute) 提供关于元素的额外信息*ML 属性从 HTML,你会回忆起这个:。src 属性提供有关 元素的额外信息。在 HTML 中以及在 *ML 中,属性提供有关元素的额外信息: 属性

23、通常提供不属于数据组成局部的信息。在下面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要:puter.gif*ML 属性必须加引号单/双引号,如果属性值本身包含双引号,则使用实体引用,或者可以使用单引号包围它属性值必须被引号包围,不过单引号和双引号均可使用。比方一个人的性别,person 标签可以这样写:或者这样也可以:注释:如果属性值本身包含双引号,则有必要使用单引号包围它,就像这个例子:或者可以使用实体引用:*ML 元素 vs. 属性请看这些例子: Anna Smith female Anna Smith 在第一个例子中,se* 是一个属性。在第二个例子中,se* 则

24、是一个子元素。两个例子均可提供一样的信息。没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经历是在 HTML 中,属性用起来很便利,但是在 *ML 中,您应该尽量防止使用属性。如果信息感觉起来很像数据,则请使用子元素吧。我最喜欢的方式下面的三个 *ML 文档包含完全一样的信息:第一个例子中使用了 date 属性:GeorgeJohnReminderDont forget the meeting! 第二个例子中使用了 date 元素:08/08/2008GeorgeJohnReminderDont forget the meeting! 第三个例子中使用了扩展的 date

25、 元素这是我的最爱: 08 08 2008GeorgeJohnReminderDont forget the meeting!防止 *ML 属性?尽量使用元素因使用属性而引起的一些问题: 属性无法包含多个值子元素可以 属性无法描述树构造子元素可以 属性不易扩展为未来的变化 属性难以阅读和维护 请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。不要做这样的蠢事这不是 *ML 应该被使用的方式:针对元数据的 *ML 属性有关数据的数据有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 *ML 元素,它起作用的方式与 HTML 中 ID 属性是一样的。这个例子向我们演示了这种情

26、况: George John Reminder Dont forget the meeting! John George Re: Reminder I will not 上面的 ID 仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成局部。在此我们竭力向您传递的理念是:元数据有关数据的数据应当存储为属性,而数据本身应当存储为元素。07、*ML 验证 Previous Page Ne*t Page拥有正确语法的 *ML 被称为形式良好的 *ML。通过*个 DTD 进展了验证的 *ML 是合法的 *ML。形式良好的 *ML 文档一个形式良好的 *ML 文档拥有正确的语法一个形式良好的 *

27、ML 文档会遵守前几章介绍过的 *ML 语法规则: *ML 文档必须有根元素 *ML 文档必须有关闭标签 *ML 标签对大小写敏感 *ML 元素必须被正确的嵌套 *ML 属性必须加引号 GeorgeJohnReminderDont forget the meeting!验证 *ML 文档一个合法的 *ML 文档是形式良好的 *ML 文档,同样遵守文档类型定义 (DTD) 的语法规则GeorgeJohnReminderDont forget the meeting! 在上例中,DOCTYPE 声明是对外部 DTD 文件的引用。下面的段落展示了这个文件的内容。*ML DTD DTD 的作用是定义

28、*ML 文档的构造。它使用一系列合法的元素来定义文档构造:!DOCTYPE note 如果您希望学习 DTD,请访问我们的 DTD 教程。*ML Schema基于 *ML 的 DTD 代替者W3C 支持一种基于 *ML 的 DTD 代替者,它名为 *ML Schema: 如果您需要学习 *ML Schema,请访问我们的 *ML Schema 教程。一个通用的验证器为了帮助您检查 *ML 文件的语法,我们创立了这个工具,以便您对任何 *ML 文件进展语法检查。请看下一节。08、查看 *ML 文件 Previous Page Ne*t Page在所有现代浏览器中,可查看原始的 *ML 文件翻开

29、*ML 文件 - *ML 文档将显示为代码颜色化的根以及子元素。通过点击元素左侧的加号或减号,可以展开或收起元素的构造。如需查看不带有 + 和 - 符号的源代码,请从浏览器菜单中选择查看源代码。注释:在 Netscape, Opera 以及 Safari 中,仅仅会显示元素文本!要查看原始的 *ML,请右击页面,然后选择查看源代码。查看*个无效的 *ML 文件如果浏览器翻开了*个有错误的 *ML 文件,则它会报告这个错误。请查看这个 *ML 文件:note_error.*ml其他的 *ML 实例请查看这些 *ML 文档,这会有助于您建立对 *ML 的感性认识。一个 *ML 的 CD 目录这是我

30、父亲的 CD 收藏,被存储为 *ML 数据我猜可能是很老很无聊的题目. :-) 一个 *ML 的植物目录来自园艺店的植物目录,存储为 *ML 数据。 一个简单的菜单这是来自餐馆的早餐菜单,存储为 *ML 数据。 为什么 *ML 会这样显示?*ML 文档不会携带有关如何显示数据的信息。由于 *ML 标签由 *ML 文档的作者创造,浏览器无法确定像 这样一个标签终究描述一个 HTML 表格还是一个餐桌。在没有任何有关如何显示数据的信息的情况下,大多数的浏览器都会仅仅把 *ML 文档显示为源代码。在下面的章节,我们会了解几个有关这个显示问题的解决方案,其中会使用 CSS、*SL、JavaScript

31、 以及 *ML 数据岛。09、使用 *SLT 显示 *ML首选 Previous Page Ne*t Page通过使用 *SLT,您可以向 *ML 文档添加显示信息。使用 *SLT 显示 *ML*SLT 是首选的 *ML 样式表语言。*SLT (e*tensible Stylesheet Language Transformations) 远比 CSS 更加完善。使用 *SLT 的方法之一是在浏览器显示 *ML 文件之前,先把它转换为 HTML,正如以下的这些例子演示的那样:查看 *ML 文件,- -Belgian Waffles$5.95two of our famous Belgian W

32、affles with plenty of real maple syrup650-Strawberry Belgian Waffles$7.95light Belgian waffles covered with strawberries and whipped cream900-Berry-Berry Belgian Waffles$8.95light Belgian waffles covered with an assortment of fresh berries and whipped cream900-French Toast$4.50thick slices made from

33、 our homemade sourdough bread600-Homestyle Breakfast$6.95two eggs, bacon or sausage, toast, and our ever-popular hash browns950*SLT 样式表,- - -(calories per serving) 查看结果。下面是此 *ML 文件的一个片断。 第二行,把这个 *ML 文件到 *SL 文件: Belgian Waffles $5.95 two of our famous Belgian Waffles 650 如果您需要学习更多有关 *SLT 的知识,请访问我们的*S

34、LT 教程。在效劳器上通过 *SLT 转换 *ML在上例中,*SLT 转换是由浏览器完成的,浏览器读取的是 *ML 文件。在使用 *SLT 来转换 *ML 时,不同的浏览器可能会产生不同结果。为了减少这种问题,可以在效劳器上进展 *SLT 转换。查看结果。请注意,不管转换由效劳器还是由浏览器进展,输出结果完成一样。10、使用 CSS 显示 *ML Previous Page Ne*t Page通过使用 CSS,可为 *ML 文档添加显示信息。使用 CSS 显示您的 *ML?使用 CSS 来格式化 *ML 文档是有可能的。下面的例子就是关于如何使用 CSS 样式表来格式化*个*ML文档:这是 *

35、ML 文件:CD 目录这是样式表:CSS 文件最后,请查看效果:由 CSS 文件格式化的 CD 目录下面是此*ML文件的一个片断。 第二行,把这个 *ML 文件到 CSS 文件: Empire Burlesque Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988 .注释:使用 CSS 格式化 *ML 不能代表 *ML 文档样式化的未来。*ML 文档应当使用 W3C 的 *SL 标准进展格式化!11、*ML 解析器如何使用浏览器来读取、更新、创立并操作 *ML 文档 Pr

36、evious Page Ne*t Page大多数浏览器都有读取和操作 *ML 的内建 *ML 解析器。解析器把 *ML 转换为 JavaScript 可访问的对象。实例W3School 提供的实例是独立于浏览器和平台的。这些例子可以在所有现代浏览器中运行。加载并解析 *ML 文件例子function parse*ML()try /Internet E*plorer *mlDoc=new Active*Object(Microsoft.*MLDOM); catch(e) try /Firefo*, Mozilla, Opera, etc. *mlDoc=document.implementati

37、on.createDocument(,null); catch(e) alert(e.message); return; *mlDoc.async=false;*mlDoc.load(/e*ample/*mle/note.*ml);document.getElementById(to).innerHTML=*mlDoc.getElementsByTagName(to)0.childNodes0.nodeValue;document.getElementById(from).innerHTML=*mlDoc.getElementsByTagName(from)0.childNodes0.node

38、Value;document.getElementById(message).innerHTML=*mlDoc.getElementsByTagName(body)0.childNodes0.nodeValue;W3Schools Internal NoteTo: From: Message: 加载并解析 *ML 字符串例子function parse*ML()te*t=;te*t=te*t+George;te*t=te*t+John;te*t=te*t+Reminder;te*t=te*t+Dont forget the meeting!;te*t=te*t+;try /Internet E

39、*plorer *mlDoc=new Active*Object(Microsoft.*MLDOM); *mlDoc.async=false; *mlDoc.load*ML(te*t); catch(e) try /Firefo*, Mozilla, Opera, etc. parser=new DOMParser(); *mlDoc=parser.parseFromString(te*t,te*t/*ml); catch(e) alert(e.message); return; document.getElementById(to).innerHTML=*mlDoc.getElementsB

40、yTagName(to)0.childNodes0.nodeValue;document.getElementById(from).innerHTML=*mlDoc.getElementsByTagName(from)0.childNodes0.nodeValue;document.getElementById(message).innerHTML=*mlDoc.getElementsByTagName(body)0.childNodes0.nodeValue;W3Schools Internal NoteTo: From: Message: 解析 *ML所有现代浏览器都有读取和操作 *ML

41、的内建 *ML 解析器。解析器把 *ML 载入内存,然后把它转换为可通过 JavaScript 访问的 *ML DOM 对象。您将在本教程的下一节中学习更多有关 *ML DOM 的知识。微软的 *ML 解析器与其他浏览器中的解析器之间,存在一些差异。微软的解析器支持 *ML 文件和 *ML 字符串文本的加载,而其他浏览器使用单独的解析器。不过,所有的解析器都包含遍历 *ML 树、访问插入及删除节点元素及其属性的函数。在本教程中,我们将为您展示如何创立可同时工作于 Internet E*plorer 和其他浏览器中的脚本。注释:当我们谈及 *ML 解析,我们常常会使用有关 *ML 元素的术语:节点。通过微软的 *ML 解析器来加载 *ML微软的 *ML 解析器内建于 Internet E*plorer 5 以及更高的版

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!