XML - 用途和功能上有什么区别?例如和约翰多伊?

XML - 用途和功能上有什么区别?例如和约翰多伊?

我已经看到了第一个在一个括号中有多个属性的情况(例如<person name="JohnDoe" age="25">),但我不太明白它们之间到底有什么区别,而且我只是想知道这两种对象叫什么(我无法用谷歌搜索这个问题,因为我不知道它们的名字是什么)

我知道两者都可以做同样的事情(这就是我问这个问题的原因),但我正在寻找使用它们的良好用例(例如在属性而不是元素中使用 API 命名空间,将数据放入元素而不是属性中)

答案1

你可以这样做:

<foo>
    <bar>baz</bar>
</foo>

但你不能这样做:

<foo value="<bar>baz</bar>" />

您可以使用实体对尖括号进行编码:

<foo value="&lt;bar&gt;baz&lt;/bar&gt;" />

但现在它只是文本“baz”,而不是嵌套的 XML。相当于:

<foo>&lt;bar&gt;baz&lt;/bar&gt;</foo>

从 XML 角度来看,我认为这是唯一的区别:不能在标签内嵌套标签,但不能在属性内嵌套标签。

如果您不需要嵌套标签,则两种选择都有效。没有其他技术差异。XML 规范没有任何使用其中一种而非另一种的语义规则。

相关内容