【问题标题】:Can't YAML::load an YAML:dumped XML valueCan't YAML::load an YAML:dumped XML value
【发布时间】:2016-01-05 22:49:10
【问题描述】:

当尝试 YAML::load 由 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 会解决这个问题。

有没有更好的方法来转储/加载文本字段,或者我在这里遗漏了什么?

【问题讨论】:

    标签: ruby yaml


    【解决方案1】:

    选项 1:按照 Adding a new line/break tag in XML 中的建议将 YAML 内容包装在 &lt;![CDATA]]&gt; 中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      • 2018-12-28
      相关资源
      最近更新 更多