Определение массива в xml
В XML, как объявить массив целых чисел?
Я могу объявить его следующим образом:
<numbers type="array">
<value>3</value>
<value>2</value>
<value>1</value>
</numbers>
но может ли быть более простой способ?
<numbers [3,2,1]></numbers>
Ответы
Ответ 1
Второй способ недействителен XML; вы имели в виду <numbers>[3,2,1]</numbers>
?
Если это так, то первый из них предпочтителен, потому что все, что вам нужно для получения элементов массива, - это некоторые манипуляции с XML. На втором нужно сначала получить значение <numbers> элемент с помощью XML-манипуляции, затем каким-то образом проанализируйте текст [3,2,1]
, используя что-то еще.
Или, если вам действительно нужен компактный формат, вы можете использовать JSON (который "изначально" поддерживает массивы). Но это зависит от ваших требований приложения.
Ответ 2
Нет, нет более простого способа. Вы можете потерять type=array
.
<numbers>
<value>3</value>
<value>2</value>
<value>1</value>
</numbers>
Ответ 3
В качестве имени "числа" ясно, что это список чисел... Итак, массив числа... нет необходимости в типе атрибута... Хотя мне нравится принцип указания типа поля в атрибуте type...
Ответ 4
Как только я увидел такую интересную конструкцию:
<Ids xmlns:id="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<id:int>1787</id:int>
</Ids>