You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何称XML不支持数组?明明存在<array>标签

为什么说“XML不支持数组”?

很多对比XML和JSON的内容会提到JSON支持数组而XML不支持,这里的“不支持”指的是XML没有原生的数组数据类型,具体可以从这几点理解:

  • JSON的数组是语言级别的内置结构,用[]包裹、逗号分隔元素,语法和语义都是明确的,比如["apple", "banana", "orange"]一看就知道是一组同类型元素的集合。
  • XML本身没有“数组”这个原生概念,所有结构都靠元素嵌套实现。你看到的<array>标签只是开发者自定义的约定——比如你举的Android资源文件示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array
name="integer_array_name">
<item>resource</item>
</array>
</resources>

这里的<array>和<item>只是用来模拟数组结构的自定义标签,换成<list>、<item-group>也完全可行,只要开发者之间达成约定就行,并不是XML标准里自带的数组类型。

  • XML的这种特性会导致语义歧义:如果只写<item>1</item><item>2</item>,没人能直接判断这是数组的元素还是两个独立的元素;但JSON里[1,2]的语义是绝对明确的。

内容的提问来源于stack exchange,提问作者Ahmed Ibrahim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:09:47