热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Xml学习笔记——Xml常用知识总结

学习过程中的知识总结,在做java项目的时候需要使用xml

>【前面的话】

     
在学习spring框架,发现很多地方都用到了Xml的知识,所以会过头来再学习学习Xml。

     
本章学习的是Xml的基础,所以>基础性文章,选择性阅读

>Xml

>一、Xml初步了解

     
XML 指可扩展标记语言

    
 XML 被设计用来传输和存储数据。

>二、什么是Xml?



  1. XML 指可扩展标记语言(EXtensible Markup
    Language)

  2. XML 是一种标记语言,很类似 HTML

  3. XML 的设计宗旨是传输数据,而非显示数据

  4. XML 标签没有被预定义。您需要自行定义标签。

  5. XML 被设计为具有自我描述性。

  6. XML 是 W3C 的推荐标准

>三、XmlHtml的区别



  1. XML 不是 HTML 的替代。

  2. XML 和 HTML 为不同的目的而设计:

  3. XML 被设计为传输和存储数据,其焦点是数据的内容。

  4. HTML 被设计用来显示数据,其焦点是数据的外观。

  5. HTML 旨在显示信息,而 XML 旨在传输信息。

>四、Xml的特点

     1. 没有任何行为的
XML,XML 是不作为的。

>         XML
不会做任何事情。XML 被设计用来结构化、存储以及传输信息。

     如下:


1 <note>
2 <to>dearto>
3 <from>TTfrom>
4 <heading>Loveheading>
5 <body>I Love You!body>
6 note>

      这个XML
文档仍然没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

      2. XML
仅仅是纯文本

      3. 通过 XML
您可以发明自己的标签

>五、Xml的用途



  1. XML 把数据从 HTML 分离

  2. XML 简化数据共享

  3. XML 简化数据传输

  4. XML 简化平台的变更

  5. XML 使您的数据更有用

  6. XML 用于创建新的 Internet 语言

  7. 假如开发人员都是理性的,就让未来的应用程序使用 XML
    来交换数据吧。

>六、Xml的树结构

  bubuko.com,布布扣 
                   

上图表示下面的 XML 中的一本书:



1 <bookstore>
2 <book category="COOKING">
3 <title lang="en">Everyday Italiantitle>
4 <author>Giada De Laurentiisauthor>
5 <year>2005year>
6 <price>30.00price>
7 book>
8 <book category="CHILDREN">
9 <title lang="en">Harry Pottertitle>
10 <author>J K. Rowlingauthor>
11 <year>2005year>
12 <price>29.99price>
13 book>
14 <book category="WEB">
15 <title lang="en">Learning XMLtitle>
16 <author>Erik T. Rayauthor>
17 <year>2003year>
18 <price>39.95price>
19 book>
20 bookstore>

>七、Xml的语法



  1. 所有 XML 元素都须有关闭标签

  2. XML 标签对大小写敏感

  3. XML 必须正确地嵌套

  4. XML 文档必须有根元素

  5. XML 的属性值须加引号

  6. 实体引用

     在 XML
中,一些字符拥有特殊的意义。如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

下面的发生错误:


1 <message>if salary < 1000 then>

应该为如下:


1 <message>if salary < 1000 thenmessage>

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

























<



小于


>



大于


&


&


和号


'



单引号


"


"


引号

     7. XML
中的注释

如下:


1

     8. >在 XML 中,空格会被保留——在 XML 中,文档中的空格不会被删节

     9. XML 以 LF
存储换行

>八、Xml的命名规则



  1. 名称可以含字母、数字以及其他的字符

  2. 名称不能以数字或者标点符号开始

  3. 名称不能以字符 “xml”(或者 XML、Xml)开始

  4. 名称不能包含空格

>九、
XML 元素



  1. XML
    元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

  2. 例子:


1 <bookstore>
2 <book category="COOKING">
3 <title lang="en">Everyday Italiantitle>
4 <author>Giada De Laurentiisauthor>
5 <year>2005year>
6 <price>30.00price>
7 book>
8 <book category="CHILDREN">
9 <title lang="en">Harry Pottertitle>
10 <author>J K. Rowlingauthor>
11 <year>2005year>
12 <price>29.99price>
13 book>
14 <book category="WEB">
15 <title lang="en">Learning XMLtitle>
16 <author>Erik T. Rayauthor>
17 <year>2003year>
18 <price>39.95price>
19 book>
20 bookstore>

    
在上例中, 都拥有元素内容,因为它们包含了其他元素。
只有文本内容,因为它仅包含文本。

在上例中,只有 元素拥有属性
(category="CHILDREN")。

>十、XML
属性



  1. XML 属性必须加引号

  2. 使用属性还是使用元素,下面的例子说明:

第一个例子中使用了 date 属性:


1 <note date="08/08/2008">
2 <to>Georgeto>
3 <from>Johnfrom>
4 <heading>Reminderheading>
5 <body>Don‘t forget the meeting!body>
6 note>

第二个例子中使用了 date 元素:



1 <note>
2 <date>08/08/2008date>
3 <to>Georgeto>
4 <from>Johnfrom>
5 <heading>Reminderheading>
6 <body>Don‘t forget the meeting!body>
7 note>

第三个例子中使用了扩展的 date 元素(这是我的最爱):



1 <note>
2 <date>
3 <day>08day>
4 <month>08month>
5 <year>2008year>
6 date>
7 <to>Georgeto>
8 <from>Johnfrom>
9 <heading>Reminderheading>
10 <body>Don‘t forget the meeting!body>
11 note>

>十一、命名空间

    1. 命名冲突

    在 XML
中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

    这个 XML
文档携带着某个表格中的信息:


1 <table>
2 <tr>
3 <td>Applestd>
4 <td>Bananastd>
5 tr>
6 table>

    这个 XML
文档携带有关桌子的信息(一件家具):


1 <table>
2 <name>African Coffee Tablename>
3 <width>80width>
4 <length>120length>
5 table>

     假如这两个 XML
文档被一起使用,由于两个文档都包含带有不同内容和定义的

元素,就会发生命名冲突。 XML
解析器无法确定如何处理这类冲突。

     2.
使用前缀来避免命名冲突

    
此文档带有某个表格中的信息:


1 <h:table>
2 <h:tr>
3 <h:td>Applesh:td>
4 <h:td>Bananash:td>
5 h:tr>
6 h:table>

     此 XML
文档携带着有关一件家具的信息:


1 <f:table>
2 <f:name>African Coffee Tablef:name>
3 <f:width>80f:width>
4 <f:length>120f:length>
5 f:table>

    
现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的

元素 (
)。

通过使用前缀,我们创建了两种不同类型的


元素。

     3.
使用命名空间(Namespaces)

    这个 XML
文档携带着某个表格中的信息:


1 <h:table xmlns:h="http://www.w3.org/TR/html4/">
2 <h:tr>
3 <h:td>Applesh:td>
4 <h:td>Bananash:td>
5 h:tr>
6 h:table>

    此 XML
文档携带着有关一件家具的信息:


1 <f:table xmlns:f="http://www.w3school.com.cn/furniture">
2 <f:name>African Coffee Tablef:name>
3 <f:width>80f:width>
4 <f:length>120f:length>
5 f:table>

    与仅仅使用前缀不同,我们为


标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。

    4. XML Namespace (xmlns)
属性

   XML
命名空间属性被放置于元素的开始标签之中,并使用以下的语法:

  
xmlns:namespace-prefix="namespaceURI"

  
当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。

  
注释:用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。

    5. 统一资源标识符(Uniform Resource
Identifier (URI))

   统一资源标识符是一串可以标识因特网资源的字符。最常用的 URI
是用来标示因特网域名地址的统一资源定位器(URL)。另一个不那么常用的 URI 是统一资源命名(URN)。在我们的例子中,我们仅使用
URL。

   6. 默认的命名空间(Default
Namespaces)

   
为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。

请使用下面的语法:


1 xmlns="namespaceURI"

这个 XML 文档携带着某个表格中的信息:


1 <table xmlns="http://www.w3.org/TR/html4/">
2 <tr>
3 <td>Applestd>
4 <td>Bananastd>
5 tr>
6 table>

此 XML 文档携带着有关一件家具的信息:


1 <table xmlns="http://www.w3school.com.cn/furniture">
2 <name>African Coffee Tablename>
3 <width>80width>
4 <length>120length>
5 table>

【参考资料】

1.Xml教程 http://www.w3school.com.cn/xml/index.asp

>【后面的话】

    
知识总是在学习过程中发现欠缺别的知识,然后好好补充别的知识,这样就会建立知识库,加油吧,少年。

>——TT

Xml学习笔记——Xml 常用知识总结,布布扣,bubuko.com


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
author-avatar
cang桑哥哥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有