CO преобразовать xml в json с помощью командной строки или сценария оболочки - PullRequest
0 голосов
/ 07 мая 2020
<?xml version="1.0" encoding="utf-8"??>
<resources>
  <data id="V701">
    <string name="MSG_V701_ID">V701</string>
    <string name="MSG_V701_TITLE">abc</string>
    <string name="MSG_V701_BODY">This title is currently unable</string>
  </data>
  <data id="V702">
    <string name="MSG_V702_ID">V702</string>
    <string name="MSG_V702_TITLE">Play</string>
    <string name="MSG_V702_BODY">This title is currently unable to play</string>
  </data>
</resources>

как это сделать с помощью этой командной строки в ubuntu или сценария оболочки

1 Ответ

1 голос
/ 28 июня 2020

Нет родных Bash инструментов, которые могли бы это сделать. Таким образом, вам придется использовать специальный инструмент, например .

Вы не объяснили, как вы хотите, чтобы JSON выглядел, поэтому что-то вроде этого ...

xidel -s input.xml -e '{|//data/{@* :{|string/{@* :text()}|}}|}'
{
  "V701": {
    "MSG_V701_ID": "V701",
    "MSG_V701_TITLE": "abc",
    "MSG_V701_BODY": "This title is currently unable"
  },
  "V702": {
    "MSG_V702_ID": "V702",
    "MSG_V702_TITLE": "Play",
    "MSG_V702_BODY": "This title is currently unable to play"
  }
}

... что вы ищете?

...