热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

学习网页制作熟悉XML的语法规矩

XML的语法规矩既简略又严格,非常轻易学习和应用。正由于如此,编写读取和把持XML的软件也是相对轻易的事情。一个XML文档的例子XML文档应用了自描写的和简略的语法。?xmlversion=
XML的语法规矩既简略又严格,非常轻易学习和应用。正由于如此,编写读取和把持XML的软件也是相对轻易的事情。

   一个XML文档的例子

   XML文档应用了自描写的和简略的语法。

  
  
Tove  
Jani  
Reminder  
Don't forget me this weekend!  

   文档的第1行:XML声明——定义此文档所遵守的XML尺度的版本,在这个例子里是1.0版本的尺度,应用的是ISO-8859-1 (Latin-1/West European)字符集。

   The next line describes the root element of the document (like it was saying: 'this document is a note'):
文档的第2行是根元素(就象是说“这篇文档是一个便条”):


文档的第3--6行描写了根元素的四个子节点(to, from, heading,和 body):
Tove
Jani
Reminder
Don't forget me this weekend!
文档的最后一行是根元素的结束

   你能从这个文档中看出这是Ordm给Lin留的便条么?难道能不承认XML是一种美丽的自描写语言么?

   所有的XML文档必需有一个结束标记

   在XML文档中, 疏忽结束标记是不符合规定的。

   在HTML文档中,一些元素可以是没有结束标记的。下面的代码在HTML中是完整正当的:

This is a paragraph

This is another paragraph

   但是在XML文档中必需要有结束标记,象下面的例子一样:

This is a paragraph

This is another paragraph

 

   留心: 你可能已经留心到了,上面例子中的第一行并没有结束标记。这不是一个错误。由于XML声明并不是XML文档的一部分,他不是XML元素,也就不应当有结束标记。

   XML标记都是大小写敏感的

   这与HTML不一样, XML标记是大小写敏感的。

   在XML中, 标记与标记是两个不同的标记。

   因此在XML文档中开端标记和结束标记的大小写必需保持一致。

This is incorrect  

This is correct

   所有的XML元素必需公平包含

   

   在XML中不答应不准确的嵌套包含。

   在HTML中,答应有一些不准确的包含,例如下面的代码可以被浏览器解析:

This text is bold and italic

   在XML中所有元素必需准确的嵌套包含,上面的代码应当这样写:

This text is bold and italic

   所有的XML文档必需有一个根元素

   XML文档中的第一个元素就是根元素。

   所有XML文档都必需包含一个单独的标记来定义,所有其他元素的都必需成对的在根元素中嵌套。XML文档有且只能有一个根元素。

   所有的元素都可以有子元素,子元素必需准确的嵌套在父元素中,下面的代码可以形象的阐明:

  
    
    .....  
    
 

   属性值必需应用引号''

   在XML中,元素的属性值没有引号引着是不符合规定的。

   如同HTML一样,XML元素同样也可以拥有属性。XML元素的属性以名字/值成对的呈现。XML语法规范请求XML元素属性值必需用引号引着。请看下面的两个例子,第一个是错误的,第二个是准确的。

  
  
Tove  
Jani  

  
  
Tove  
Jani  

   第一个文档的错误之处是属性值没有用引号引着。

   准确的写法是: date='12/11/99'. 不准确的写法: date=12/11/99.

   应用XML,空缺将被保留 

   在XML文档中,空缺部分不会被解析器主动删除。

   
这一点与HTML是不同的。在HTML中,这样的一句话:

   'Hello         my name is Ordm'将会被显示成:'Hello my name is Ordm',

   由于HTML解析器会主动把句子中的空缺部分往掉。

   应用XML, CR / LF 被转换为 LF

   应用 XML, 新行总是被标识为 LF(Line Feed,换行)。

   你知道打字机是什么么?呵呵,打字机是在上个世纪里应用的一种专门打字的机器。^&^

   当你用打字机敲完一行字后,你通常不得不再把打字头移动到纸的左端。

   在Windows利用程序中,文本中的新行通常标识为 CR LF (carriage return, line feed,回车,换行)。在Unix利用程序中,新行通常标识为 LF。还有一些利用程序只应用CR来表现一个新行。

   XML中的注释

   在XML中注释的语法基础上和HTML中的一样。

   

   XML并没有什么特别的哦

   XML确实没有什么特别的处所。他只是一些用尖括号扩在一起的普通的纯文本。编纂普通文本的软件也可以编纂XML文档。然而在一个支撑XML的利用程序中,XML标记往往对应着特别的把持,有些标记可能是可见的,而有些标记则可能不会显示出来,而不会有什么特别的把持。



推荐阅读
  • 解决基于XML配置的MyBatis在Spring整合中出现“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”问题的方法
    在将Spring与MyBatis进行整合时,作者遇到了“无效绑定语句(未找到):com.music.dao.MusicDao.findAll”的问题。该问题主要出现在使用XML文件配置DAO层的情况下,而注解方式配置则未出现类似问题。作者详细分析了两个配置文件之间的差异,并最终找到了解决方案。本文将详细介绍问题的原因及解决方法,帮助读者避免类似问题的发生。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • Spring Security 认证模块的项目构建与初始化
    本文详细介绍了如何构建和初始化Spring Security认证模块的项目。首先,通过创建一个分布式Maven聚合工程,该工程包含四个模块,分别为core、browser(用于演示)、app等,以构成完整的SeehopeSecurity项目。在项目构建过程中,还涉及日志生成机制,确保能够输出关键信息,便于调试和监控。 ... [详细]
  • 如何在IDEA中安装和配置反编译插件以提高代码审查效率
    在 IntelliJ IDEA 中提升代码审查效率的一种方法是安装和配置反编译插件。首先,进入 IDEA 的设置界面,然后导航到插件管理部分。接下来,搜索 "ideaJad" 插件并进行安装。安装完成后,重启 IDEA 以确保插件生效。这将帮助你在审查二进制文件时更加高效地查看源代码。 ... [详细]
  • 本文全面介绍了 Windows 快捷键的使用方法,旨在帮助用户提高工作效率。通过详细解析各类快捷键的应用场景和功能,为用户提供了一站式的操作指南。无论是新手还是资深用户,都能从中受益,轻松掌握提升生产力的实用技巧。 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
  • 为了在Fragment中直接调用Activity的方法,可以通过定义一个接口并让Activity实现该接口来实现。具体步骤包括:首先在Fragment中声明一个接口,并在Activity中实现该接口。接着,在Fragment中通过类型转换检查Activity是否实现了该接口,如果实现了则调用相应的方法。这种方法不仅提高了代码的解耦性,还增强了模块间的通信效率。此外,还可以通过ViewModel或LiveData等现代Android架构组件进一步优化这一过程,以实现更加高效和可靠的通信机制。 ... [详细]
  • 深入解析 OpenCV 2 中 Mat 对象的类型、深度与步长属性
    在OpenCV 2中,`Mat`类作为核心组件,对于图像处理至关重要。本文将深入探讨`Mat`对象的类型、深度与步长属性,这些属性是理解和优化图像操作的基础。通过具体示例,我们将展示如何利用这些属性实现高效的图像缩小功能。此外,还将讨论这些属性在实际应用中的重要性和常见误区,帮助读者更好地掌握`Mat`类的使用方法。 ... [详细]
  • 在ASP.NET MVC项目中,通过实战解决了Ajax请求500错误及多表数据查询的问题。具体而言,将页面分为两个部分,用户点击右侧导航栏时,通过Ajax请求动态加载数据,并在右侧显示相应的页面内容。最初尝试使用Partial Action方法,但遇到了500错误。通过详细排查和调试,最终成功解决了这一问题,并实现了预期功能。此外,还优化了多表数据查询的性能,确保系统的高效运行。 ... [详细]
  • 尽管许多人认为跑步是一项简单的运动,但实际上它涉及诸多专业知识。不正确的跑步方式不仅会降低锻炼效果,还可能引发伤害。例如,穿着不合脚或过于陈旧的跑鞋,会导致足部支撑不足,增加受伤风险。此外,跑步姿势不当、热身不足、过度训练等问题也同样值得关注。本文将详细介绍七大常见跑步误区,并提供专业的改进建议,帮助跑者避免这些问题,提高运动效率和安全性。 ... [详细]
  • 如何在PHP中提取数字的特定位数值
    本文将详细介绍如何在PHP中提取数字的特定位置的数值。这一技巧对于数据处理和算法实现具有重要意义,通过实例代码和详细解析,帮助读者掌握该方法的应用场景和实现方式。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 在 HihoCoder 1505 中,题目要求从给定的 n 个数中选取两对数,使这两对数的和相等。如果直接对所有可能的组合进行遍历,时间复杂度将达到 O(n^4),因此需要考虑优化选择过程。通过使用哈希表或其他高效的数据结构,可以显著降低时间复杂度,从而提高算法的效率。具体实现中,可以通过预处理和存储中间结果来减少重复计算,进一步提升性能。 ... [详细]
author-avatar
mobiledu2502908197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有