首页 后端开发 XML/RSS教程 xml的属性总结代码详情

xml的属性总结代码详情

Mar 30, 2017 pm 01:43 PM

跟HTML一样,XML元素再开始标记处可以由元素属性。属性通常包含一些关于元素的额外信息。

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

XML属性
XML元素可以拥有属性。

你一定还记得这样的HTML代码吧: 。src是img元素的属性,提供了关于img元素的额外信息。

在HTML中 (在XML中也一样)元素的属性提供了元素的额外信息。

<img src="computer.gif">
<a href="demo.asp">
登录后复制

书信提供的信息通常不是数据的一部分。在下面的例子中,类型和数据毫不相关,但对于操作这个元素的软件来说却相当重要。

<file type="gif">computer.gif</file>
登录后复制

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

引用风格"female" 还是 'female'?
属性值必须用引号引着。单引号、双引号都可以使用。例如一个人的性别,person元素可以这样写:

<person sex="female">
登录后复制

也可以这样写:

<person sex=&#39;female&#39;>
登录后复制

上面的两种写法在一般情况下是没有区别的,使用双引号的应用更普遍一些。但是在某些特殊的情况下就必须使用单引号,比如下面的例子:

<gangster name=&#39;George "Shotgun" Ziegler&#39;>
登录后复制

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

使用子元素还是使用属性
数据既可以存储在子元素中也可以存储在属性中。

请看下面的例子:

<person sex="female">
Anna
Smith


female
Anna
Smith
登录后复制

在第一个例子中,sex是一个属性,在第二个例子中,sex则是一个子元素。这两个例子都提供了相同的信息。

什么时候用属性,什么时候用子元素没有一个现成的规则可以遵循。我的经验是属性在HTML中可能相当便利,但在XML中,你最好避免使用。

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

我喜欢的风格
我更愿意把数据存储到子元素中。

下面的三个XML文档包含了相同的信息:

第一个例子使用了data属性:

<note date="12/11/99">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>
登录后复制

第二个例子使用了data元素:

<note>
<date>12/11/99</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>
登录后复制

第三个例子使用了扩展的data元素: (这就是我推荐的样式):

<note>
<date>
<day>12</day>
<month>11</month>
<year>99</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>
登录后复制

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

避免使用属性?
应该避免使用属性么?

这里有一些使用属性引发的问题:

属性不能包含多个值(子元素可以)。
属性不容易扩展。
属性不能够描述结构(子元素可以)。
属性很难被程序代码处理。
属性值很难通过DTD进行测试。
如果使用属性来存储数据,那么所编写的XML文档一定很难阅读和操作。尽量使用元素来描述数据,仅使用属性来描述那些与数据关系不大的额外信息。

不要象下面的例子那样(如果你那么做了说明你还没有明白上面的观点)。

<note day="12" month="11" year="99"
to="Tove" from="Jani" heading="Reminder" 
body="Don&#39;t forget me this weekend!">
</note>
登录后复制

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

属性规则的例外
规则总是有例外的。

我的关于属性的规则也有一个例外:

有些时候应该为一个元素设计一个ID引用,通过这个ID可以引用存取特定的XML元素,就象HTML中的name和id属性一样。请看下面的例子:

<messages>
<note ID="501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don&#39;t forget me this weekend!</body>
</note>
<note ID="502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not!</body>
</note> 
</messages>
登录后复制

在上面的例子中,ID属性就相当于一个计数器,或者是一个唯一的标识符,在XML文档中标识不同的便条信息,他不是便条信息的一部分。

我们所要尽力向读者说明的是:元数据(与数据有关的数据)应该以属性的方式存储,而数据本身应该以元素的形式存储。

以上是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.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 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,是微软公司开发的一种用于创建演示文稿的软件。它提供了图文并茂的方

如何在Java中使用Gson重命名JSON的属性? 如何在Java中使用Gson重命名JSON的属性? Aug 27, 2023 pm 02:01 PM

Gson@SerializedName注释可以序列化为JSON,并将提供的名称值作为其字段名称。此注释可以覆盖任何FieldNamingPolicy,包括可能已在Gson实例上设置的默认字段命名策略。可以使用GsonBuilder类设置不同的命名策略。语法@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedName示例importcom.google.gson.annotations.*;

Python的dir()函数:查看对象的属性和方法 Python的dir()函数:查看对象的属性和方法 Nov 18, 2023 pm 01:45 PM

Python的dir()函数:查看对象的属性和方法,需要具体代码示例摘要:Python是一种强大而灵活的编程语言,其内置函数和工具为开发人员提供了许多方便的功能。其中一个非常有用的函数是dir()函数,它允许我们查看一个对象的属性和方法。本文将介绍dir()函数的用法,并通过具体的代码示例来演示其功能和用途。正文:Python的dir()函数是一个内置函数,

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#处理这两种数据格式,并附上

在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

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

XML 解析的 Java 库对比:寻找最佳解决方案 XML 解析的 Java 库对比:寻找最佳解决方案 Mar 09, 2024 am 09:10 AM

简介XML(可扩展标记语言)是一种用于存储和传输数据的流行格式。在Java中解析XML是许多应用程序的一个必要任务,从数据交换到文档处理。为了有效地解析XML,开发人员可以使用各种Java库。本文将比较一些最流行的XML解析库,重点关注它们的特性、功能和性能,以帮助开发人员做出明智的选择。DOM(文档对象模型)解析库JavaXMLDOMAPI:由oracle提供的标准DOM实现。它提供了一个对象模型,允许开发人员访问和操作XML文档。DocumentBuilderFactoryfactory=D

炉石传说绝望线缕属性介绍 炉石传说绝望线缕属性介绍 Mar 20, 2024 pm 10:36 PM

绝望线缕是暴雪娱乐旗下佳作《炉石传说》中的一张稀有卡牌,在“威兹班的工坊”卡包中有机会获得。可消耗100/400点奥术之尘合成普通/金色版本。炉石传说绝望线缕属性介绍答:在威兹班的工坊卡包中有几率获得,也也可以通过奥术之尘合成。稀有度:稀有类型:法术职业:死亡骑士法力值:1效果:使所有随从获得亡语:对所有随从造成1点伤害

See all articles