首页 后端开发 XML/RSS教程 详细介绍xml的语法的使用和学习

详细介绍xml的语法的使用和学习

Mar 30, 2017 pm 01:46 PM

XML的语法规则既简单又严格,非常容易学习和使用。

正因为如此,编写读取和操作XML的软件也是相对容易的事情。

--------------------------------------------------------------------------------

一个XML文档的例子
XML文档使用了自描述的和简单的语法。

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>
登录后复制

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

文档的第2行是根元素(就象是说“这篇文档是一个便条”):

<note>
登录后复制

文档的第3--6行描述了根元素的四个子节点(to, from, heading,和 body):

<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
登录后复制

文档的最后一行是根元素的结束:

</note>
登录后复制

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

--------------------------------------------------------------------------------

所有的XML文档必须有一个结束标记
在XML文档中, 忽略结束标记是不符合规定的。

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

<p>This is a paragraph
<p>This is another paragraph
登录后复制

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

<p>This is a paragraph</p>
<p>This is another paragraph</p>
登录后复制

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

--------------------------------------------------------------------------------

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

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

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

<Message>This is incorrect</message>   //错误的
<message>This is correct</message>     //正确的
登录后复制

--------------------------------------------------------------------------------

所有的XML元素必须合理包含
在XML中不允许不正确的嵌套包含。

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

<b><i>This text is bold and italic</b></i>
登录后复制

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

<b><i>This text is bold and italic</i></b>
登录后复制

--------------------------------------------------------------------------------

所有的XML文档必须有一个根元素
XML文档中的第一个元素就是根元素。

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

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

<root>
<child>
<subchild>.....</subchild>
</child>
</root>
登录后复制

--------------------------------------------------------------------------------

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

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



<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>
登录后复制


Tove
Jani
Reminder
Don't forget me this weekend!
</note>
登录后复制

第一个文档的错误之处是属性值没有用引号引着。
正确的写法是: 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,换行)。

以上是详细介绍xml的语法的使用和学习的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

能否用PowerPoint打开XML文件 能否用PowerPoint打开XML文件 Feb 19, 2024 pm 09:06 PM

XML文件可以用PPT打开吗?XML,即可扩展标记语言(ExtensibleMarkupLanguage),是一种被广泛应用于数据交换和数据存储的通用标记语言。与HTML相比,XML更加灵活,能够定义自己的标签和数据结构,使得数据的存储和交换更加方便和统一。而PPT,即PowerPoint,是微软公司开发的一种用于创建演示文稿的软件。它提供了图文并茂的方

Python中的XML数据转换为CSV格式 Python中的XML数据转换为CSV格式 Aug 11, 2023 pm 07:41 PM

Python中的XML数据转换为CSV格式XML(ExtensibleMarkupLanguage)是一种可扩展标记语言,常用于数据的存储和传输。而CSV(CommaSeparatedValues)则是一种以逗号分隔的文本文件格式,常用于数据的导入和导出。在处理数据时,有时需要将XML数据转换为CSV格式以便于分析和处理。Python作为一种功能强大

C#开发中如何处理XML和JSON数据格式 C#开发中如何处理XML和JSON数据格式 Oct 09, 2023 pm 06:15 PM

C#开发中如何处理XML和JSON数据格式,需要具体代码示例在现代软件开发中,XML和JSON是广泛应用的两种数据格式。XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,而JSON(JavaScript对象表示)是一种轻量级的数据交换格式。在C#开发中,我们经常需要处理和操作XML和JSON数据,本文将重点介绍如何使用C#处理这两种数据格式,并附上

使用Python实现XML中的数据校验 使用Python实现XML中的数据校验 Aug 10, 2023 pm 01:37 PM

使用Python实现XML中的数据校验引言:在现实生活中,我们经常会处理各种各样的数据,其中XML(可扩展标记语言)是一种常用的数据格式。XML具有良好的可读性和可扩展性,被广泛应用于各种领域,如数据交换、配置文件等。在处理XML数据时,我们经常需要对数据进行校验,以确保数据的完整性和正确性。本文将介绍如何使用Python实现XML中的数据校验,并给出相应的

在Java中使用Jackson库将POJO转换为XML? 在Java中使用Jackson库将POJO转换为XML? Sep 18, 2023 pm 02:21 PM

Jackson是一个基于Java的库,它对于将Java对象转换为JSON以及将JSON转换为Java对象非常有用。JacksonAPI比其他API更快,需要更少的内存区域,并且适合大型对象。我们使用XmlMapper类的writeValueAsString()方法将POJO转换为XML格式,并且需要将相应的POJO实例作为参数传递给此方法。语法publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingException示例imp

使用Python解析带有命名空间的XML文档 使用Python解析带有命名空间的XML文档 Aug 09, 2023 pm 04:25 PM

使用Python解析带有命名空间的XML文档XML是一种常用的数据交换格式,能够适应各种应用场景。在处理XML文档时,有时会遇到带有命名空间(namespace)的情况。命名空间可以防止不同XML文档中元素名的冲突,提高了XML的灵活性和可扩展性。本文将介绍如何使用Python解析带有命名空间的XML文档,并给出相应的代码示例。首先,我们需要导入xml.et

如何使用 PHP 函数处理 XML 数据? 如何使用 PHP 函数处理 XML 数据? May 05, 2024 am 09:15 AM

使用PHPXML函数处理XML数据:解析XML数据:simplexml_load_file()和simplexml_load_string()加载XML文件或字符串。访问XML数据:利用SimpleXML对象的属性和方法获取元素名称、属性值和子元素。修改XML数据:使用addChild()和addAttribute()方法添加新元素和属性。序列化XML数据:asXML()方法将SimpleXML对象转换为XML字符串。实战案例:解析产品馈送XML,提取产品信息,转换并将其存储到数据库中。

lambda 表达式的语法和结构有什么特点? lambda 表达式的语法和结构有什么特点? Apr 25, 2024 pm 01:12 PM

Lambda表达式是无名称的匿名函数,其语法为:(parameter_list)->expression。它们具有匿名性、多样性、柯里化和闭包等特点。实际应用中,Lambda表达式可用于简洁地定义函数,如求和函数sum_lambda=lambdax,y:x+y,并通过map()函数应用于列表来进行求和操作。

See all articles