Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: XML to JSON
Форумы портала PHP.SU » » XML и его обработка » XML to JSON

Страниц (1): [1]
 

1. GoDr - 20 Апреля, 2015 - 19:57:05 - перейти к сообщению
Перевожу одну спецификацию, вернее создаю свою на основе некоторых. Но все спецификации W3C написаны на XML Schema. В принципе проблем нет, но есть тонкие места которые не могу понять как сделать.

Например есть такое (пример данных)
CODE (htmlphp):
скопировать код в буфер обмена
  1. <root>
  2.     <date calendar="Gregorian">
  3.         11 MAR 2014
  4.     </date>
  5.     <date calendar="Gregorian" qualifiers="BEF">
  6.         12 MAR 2014
  7.     </date>
  8.     <date christ="B.C.">
  9.         13 MAR 2014
  10.     </date>
  11.     <date>
  12.         14 MAR 2014
  13.     </date>
  14. </root>


Как видно есть необязательные атрибуты. Указывать их все просто не разумно, исходный код получится очень большой, да и читаемость ухудшиться..

Как это лучше реализовать?

Нашёл что некоторые online-конверторы это делают так
CODE (htmlphp):
скопировать код в буфер обмена
  1. {
  2.     "root": {
  3.         "date": [
  4.             {
  5.                 "_calendar": "Gregorian",
  6.                 "__text": "11 MAR 2014"
  7.             },
  8.             {
  9.                 "_calendar": "Gregorian",
  10.                 "_qualifiers": "BEF",
  11.                 "__text": "12 MAR 2014"
  12.             },
  13.             {
  14.                 "_christ": "B.C.",
  15.                 "__text": "13 MAR 2014"
  16.             },
  17.             "14 MAR 2014"
  18.         ]
  19.     }
  20. }


или так
CODE (htmlphp):
скопировать код в буфер обмена
  1. {
  2.   "root": {
  3.     "date": [
  4.       {
  5.         "-calendar": "Gregorian",
  6.         "#text": "11 MAR 2014"
  7.       },
  8.       {
  9.         "-calendar": "Gregorian",
  10.         "-qualifiers": "BEF",
  11.         "#text": "12 MAR 2014"
  12.       },
  13.       {
  14.         "-christ": "B.C.",
  15.         "#text": "13 MAR 2014"
  16.       },
  17.       "14 MAR 2014"
  18.     ]
  19.   }
  20. }

Вот только на сколько это верно, вернее приемлемо
2. caballero - 20 Апреля, 2015 - 20:43:04 - перейти к сообщению
глупо и не всегда возможно переводить XML в JSON
3. GoDr - 20 Апреля, 2015 - 20:59:28 - перейти к сообщению
ну что не всегда возможно, не думаю... есть некоторые непонятки как в моём примере. Но возможно же Улыбка

А вот насчёт "глупо"... почему?

 

Powered by ExBB FM 1.0 RC1