对XML中的元素和属性感到困惑
我最近开始学习XML,对元素和属性的使用感到非常困惑。我读了很多文章和一些经验法则,但仍然无法清楚地知道什么时候该用什么。例如,一个好的经验法则是使用单值数据作为属性,使用多值数据作为元素。另一种方法是将数据表示为元素,将元数据表示为属性。一些文章说描述了其他几种方法或规则。我心中有几个问题,如果有人能帮助我理解,我将不胜感激对XML中的元素和属性感到困惑,xml,Xml,我最近开始学习XML,对元素和属性的使用感到非常困惑。我读了很多文章和一些经验法则,但仍然无法清楚地知道什么时候该用什么。例如,一个好的经验法则是使用单值数据作为属性,使用多值数据作为元素。另一种方法是将数据表示为元素,将元数据表示为属性。一些文章说描述了其他几种方法或规则。我心中有几个问题,如果有人能帮助我理解,我将不胜感激 如果数据是单值的呢?我应该将其设置为属性还是元素。例如,一个人的婚姻状况在其数据的同时是单值的。在这种情况下,属性和元素有什么区别 例如,出生日期也是一个单值数据,但许多
如果您是程序员,您将更好地理解这一点
虽然属性和元素可以互换。
每当我创建一个XML结构时,我都会尝试将其作为某种编程语言的一个类,比如说c#
因此,对于所有
字段
我生成属性,对于所有属性
我生成元素
因此,一个具有以下结构的类
class SomeClass
{
int a;
int b{get; set;}
}
将由我更改为
<xml>
<object a="some value"><b>"some value"</b></object>
</xml>
“一些价值”
关于如何使用两者,我认为有很多不同的解释,我最近一直在试图弄清楚它们。以下是我个人的观点:
- 属性包含在标记信息中,您可以使用这些信息使标记“更丰富”,我认为我必须引用一个特定的html标记来应用它某种样式或行为,因此,例如,我会查找带有属性lang=“ita”的所有标记,并向它们粘贴一个“translate this”函数,或者我可以查找带有属性sex的所有标记=“女性”并将其呈现为粉红色…关键是读者可以判断文本是否为英语,或者Sarah是男性还是女性,但您希望“让解析器也知道这一点”,并且可以通过属性而不是内部值更好地xpath标记(选择标记)
- 其他一切都是元素
(b) 在面向数据的XML中,除了ID属性之外,一切都使用元素。不,我不是……这会有什么不同吗?