无空格分隔项的YAML列表是否合法?YamlDotNet如何兼容解析?
YAML无空格列表项解析问题解答
1. -image02.png这类格式的YAML列表语法是否合法?
不合法。根据YAML官方1.2版本规范,列表项标记-之后必须跟空格或换行,才能被识别为列表项起始。如果-直接紧跟内容(如-image02.png),会被解析为普通字符串值,而非列表项,不符合标准YAML语法规则。
2. YamlDotNet是否有配置参数支持解析该格式?
YamlDotNet严格遵循YAML规范实现,没有内置配置支持解析这种非标准格式。若要兼容这类自定义写法,可通过两种方式处理:
- 预处理YAML文本:遍历内容,将所有
-后紧跟非空白字符的位置插入空格,比如把-image02.png替换为- image02.png,再交给YamlDotNet解析。 - 自定义解析器扩展:继承YamlDotNet的
IParser接口,在解析过程中拦截并修正不符合规范的标记,将-后跟内容的场景转换为标准列表项格式。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

