xml概论

2024-09-08 12:32
文章标签 xml 概论

本文主要是介绍xml概论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下内容摘录自W3School
一、XML的特性
xml是用来传输和存储数据的,本身对数据没有任何操作。在这里要区别一下html,html是用来显示数据的。xml的焦点是数据内容,html的焦点是数据外观。
下面是xml的定义:
•XML 指可扩展标记语言(EXtensible Markup Language)
•XML 是一种标记语言,很类似 HTML
•XML 的设计宗旨是传输数据,而非显示数据
•XML 标签没有被预定义。您需要自行定义标签。
•XML 被设计为具有自我描述性。
•XML 是 W3C 的推荐标准
xml没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理xml。不过,能够读懂xml的应用程序可以有针对性地处理xml的标签。标签的功能性意义依赖于应用程序的特征。xml允许创作者定义自己的标签和文档结构。

二、XML的用途
XML应用于web开发的许多方面,常用于简化数据的存储和共享。
1、xml将数据从HTML中分离出来。这样只需要javascript就读取一个外部的xml文件。用来更新HTML,这样HTML就可以专注的显示外观。
2、xml简化了数据共享。在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。xml数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。
3、xml简化数据传输。通过xml,可以在不兼容的系统之间轻松地交换数据。对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。由于可以通过各种不兼容的应用程序来读取数据,以xml交换数据降低了这种复杂性。
4、xml简化平台的变更。升级到新的系统(硬件或软件平台),总是非常费时的。必须转换大量的数据,不兼容的数据经常丢失。xml数据以文本格式存储。这使得xml在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。
5、xml使您的数据更有用。由于xml独立于硬件、软件以及应用程序,xml使您的数据更可用,也更有用。不同的应用程序都能够访问您的数据,不仅仅在HTML页中,也可以从xml数据源中进行访问。
总之xml的跨平台性是非常好用的。
三、XML的树形结构
xml文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
note{to,form,heading,body}
第一行是XML声明。它定义XML的版本(1.0)和使用的编码(ISO-8859-1=Latin-1/西欧字符集)。
下一行描述文档的根元素<note>
根元素开始标签和结束标签里面包含的是4个子元素
xml文档形成一种树结构。
xml文档必须包含根元素。该元素是所有其他元素的父元素。
xml文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
所有元素均可拥有子元素。
<root><child><subchild>...</subchild> </child>
</root>
四、XML语法规则
xml的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。
1、所有的XML元素都必须有关闭标签。
2、XML标签对大小写敏感。
3、XML标签必须正确的嵌套。不能出现交叉。
4、XML必须有根元素,即必须有一个元素是所有其他元素的父元素。该元素称为根元素。
5、XML的属性值必须加“”或者‘’。
6、实体引用。一些字符拥有特殊的意义。如果你把字符“<”放在XML元素中,会发生错误,这是因为解析器会把它当作新元素的开始。这样会产生XML错误:<message>if salary < 1000 then</message>为了避免这个错误,请用实体引用来代替 "<" 字符:<message>if salary &lt; 1000 then</message>

7、XML中的注释。在XML中编写注释的语法与HTML的语法很相似:<!--This is a comment-->
8、在XML中,空格会被保留。
9、XML 以 LF 存储换行 。在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。
五、XML的元素
1、什么是XML元素?
XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
2、XML 命名规则 :
XML 元素必须遵循以下命名规则:
•名称可以含字母、数字以及其他的字符
•名称不能以数字或者标点符号开始
•名称不能以字符 “xml”(或者 XML、Xml)开始
•名称不能包含空格
可使用任何名称,没有保留的字词。
3、最佳命名习惯
使名称具有描述性。使用下划线的名称也很不错。名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。
非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。
4、XML 元素是可扩展的
XML 元素是可扩展,以携带更多的信息。请看下面这个 XML 例子:
<note>
<to>George</to>
<from>John</from>
<body>Don't forget the meeting!</body>
</note>
让我们设想一下,我们创建了一个应用程序,可将 <to>、<from> 以及 <body> 元素提取出来,并产生以下的输出:
MESSAGE
To: George
From: John
Don't forget the meeting!
想象一下,之后这个 XML 文档作者又向这个文档添加了一些额外的信息:
<note>
<date>2008-08-08</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
那么这个应用程序会中断或崩溃吗?
不会。这个应用程序仍然可以找到 XML 文档中的 <to>、<from> 以及 <body> 元素,并产生同样的输出。XML 的优势之一,就是可以经常在不中断应用程序的情况进行扩展。




这篇关于xml概论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1148120

相关文章

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

XML的创建

这里使用的是org.dom4j的jar包来完成xml格式数据的创建。 import java.io.IOException;import java.io.StringWriter;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.

Spring下自定义xml标签

dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 1 package com.hulk.testdubbo.model;2 3 public class Hero {4 private String name;5 private int

xml reader

// TODO Auto-generated method stub

spring事务属性的xml格式配置

实际是使用代理做的事务优化 <!--配置事务的属性--><tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!--匹配所有以add开头的方法--><tx:method name="add*" propagation="REQUIRED" /> <tx:metho

在struts.xml中,如何配置请求转发和请求重定向!

<span style="font-size:18px;"><span style="white-space:pre"> </span><!--<strong>下面用请求转发action </strong>,<strong>这样过去id不会丢</strong>,如果用重定向的话,id会丢 --><result name="updatePopedom"<span style="color:#ff00

xml数据作为表单参数在网络传递也需要用urlencode处理

xml数据作为表单参数在网络传递也需要用urlencode处理。才能确保数据被正确的传递和解析。需要加深对数据在web上传递的理解。

mybatis错误——java.io.IOException Could not find resource comxxxxxxMapper.xml

在学习Mybatis的时候,参考网上的教程进行简单demo的搭建,配置的没有问题,然后出现了下面的错误! Exception in thread "main" java.lang.RuntimeException: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause:

javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)

导入dom4j开发包:dom4j-1.6.1.jar   在工程下建一个文件夹lib,将dom4j-1.6.1.jar拷到里边。右键add to build path。  dom4j-1.6.1\lib文件夹下还有一些jar包,是开发过程中dom4j所需要依赖的jar包,如开发过程中报错,则需导入。   用dom4j怎么做呢? 只要是开源jar包提供给你的时候,它会在开源包里面提供