3

我在 PHP(使用 SimpleXML)中将 XML 用于配置文件,在创建配置文件时,这更像是一个标准。

拥有元素中的所有值或使用属性?

元素示例:

<database>
   <user>test-user</user>
   <pass>test-pass</pass>
</database>

属性示例:

<database user="test-user" pass="test-pass"></database>

两种方式都有什么好处吗?

此外,其他语言可能需要读取相同的配置文件,例如 Java 和 Perl。

4

2 回答 2

3

XML 采用者提出的最古老的问题是在 XML 设计中何时使用元素以及何时使用属性。与大多数设计问题一样,这个问题很少有绝对的答案,但开发人员也经历过缺乏非常明确的指导方针来帮助他们做出这个决定。

请参阅IBM的 XML 设计原则:何时使用元素与属性。很不错的文章。

这是一个片段:

根据我与 XML 用户打交道的经验,第一个问题是迄今为止最常见的问题。在某些情况下,答案非常明确:

  • 如果有问题的信息本身可以用元素标记,请将其放入元素中。
  • 如果信息适用于属性形式,但最终可能成为同一元素上的多个同名属性,请改用子元素。
  • 如果要求信息采用标准的类似 DTD 的属性类型,例如 ID、IDREF 或 ENTITY,请使用属性。
  • 如果不应针对空白对信息进行规范化,请使用元素。(XML 处理器以可以更改属性值的原始文本的方式对属性进行规范化。)
于 2010-03-03T21:16:31.017 回答
-2

XML 被发明为一种人类可读的格式,但它是如此形式化,以至于没有人敢手动编辑它,甚至不敢阅读它。

由于没有人会阅读它,我建议使用 PHP 本身。

<?
    $config['db']['user']="user";
    $config['db']['pass']="pass";
?>  

它稍微更安全和可靠。

于 2010-03-03T21:09:26.010 回答