1

我是 XML 新手,想知道什么时候应该使用属性,什么时候应该使用子节点。

我的猜测是,如果我想像索引一样使用该字段,我应该使用属性。

例如,我目前(为了了解 XML)正在制作一个程序来保存日志,所以我有 2 个主要字段“日期时间”和“文本”我认为也许“日期时间”应该是一个属性

4

2 回答 2

1

属性的主要特点是每个元素都是唯一的。这意味着不能多次使用相同的名称声明一个属性,因此使用它们来存储不应具有多个值的东西通常是一个好主意。同样由于语法和它们在元素标记中声明的事实,我发现将它们用于与该元素密切相关的事物(如 id)很有用。

另一个经验法则是,我不会将属性用于具有非常长值的事物,因为它会使读取变得混乱。就像您的日志文本一样。

对于您的特定问题,是的,我将使用时间戳属性并将文本放在元素标签之间。

还有一条关于 XML 的建议,特别是因为您刚刚开始使用该语言提供的 XML 对象来创建和编写 XML,如果您还没有这样做的话。它可能比手动将 XML 写入字符串更冗长,但它可以避免您在中间意外添加非法字符。

例如,如果您是一个包含 < 的日志记录文本,则会创建如下内容:

<Root> <Log datatime="sometime"> 这会破坏 XML < 就在那里。</Log> <根>

该 XML 文件将被破坏。XML 对象会自动转义非法值,看起来像

<Root> <Log datatime="sometime"> 这会破坏 XML < 在那里。</Log> </Root>

我希望这个帮助能祝你好运。

于 2011-06-25T02:30:15.087 回答
0

属性不能有 CData(特殊字符),但节点可以有。因此,如果您必须放置 CData,则不能将其放在属性中。这是我在做决定时要考虑的一件大事。

于 2011-06-25T03:43:41.143 回答