2015-10-08 5 views
0

При попытке YAML :: загрузить значение, созданное YAML :: дампом, я получаю сообщение об ошибке "не нашел ожидаемый ключ при разборе блока в столбце строки 1 1"Невозможно YAML :: загрузить YAML: выгруженное значение XML

в YAML :: значение дампа записываются в файл XML, как:

<format_store>---:text_formatting: '':url_pattern: ''</format_store> 

Если посмотреть в базу данных, это текстовое поле с линии разрывов в ней.

--- 
:text_formatting: '' 
:url_pattern: '' 

Таким образом, похоже, что преобразование из YAML :: дамп в формате XML опустило разрывы строк. Я явно использую формат YAML :: dump для текстовых полей. XML не допускает разрывов строк в значениях элементов. Это должно было бы сбежать каким-то образом, и я предположил, что YAML позаботится об этом.

Есть ли лучший способ сбрасывать/загружать текстовые поля или есть что-то, что мне не хватает здесь?

ответ

0

Вариант 1: Оберните содержимое YAML в <![CDATA]]>, как предложено в Adding a new line/break tag in XML.

Вариант 2: сконфигурируйте вашу библиотеку YAML для отображения дампов с использованием flow style (например, {':text_formatting' : '', ':url_pattern' : ''). Точный метод для этого будет зависеть от библиотеки YAML, которую вы используете, и может потребовать немного пользовательского кодирования.

Смежные вопросы