不能YAML ::加载YAML:转储的XML值

时间:2015-10-08 10:50:14

标签: ruby yaml

当尝试YAML ::加载由YAML :: dump生成的值时,我得到一个错误“在解析第1行第1列的块映射时找不到预期的键”

YAML :: dump值已写入XML文件:

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

如果我查看数据库,它是一个带有换行符的文本字段。

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

所以看起来从YAML :: dump到XML格式的转换降低了换行符。 我明确地将YAML :: dump格式用于文本字段。 XML不允许元素值中的换行符。它必须以某种方式逃脱,我认为YAML会照顾它。

有没有更好的方法来转储/加载文本字段,还是有一些我在这里缺少的?

1 个答案:

答案 0 :(得分:0)

选项1:按Adding a new line/break tag in XML中的建议将YAML内容包装在<![CDATA]]>

选项2:使用flow style(例如{':text_formatting' : '', ':url_pattern' : '')配置YAML库以转储映射。完成此操作的确切方法取决于您使用的YAML库,可能需要一些自定义编码。