如何将此XML转换为YAML并再次返回而不会丢失信息?
<foo bar='one' baz='two'>Lorem Ipsum</foo>
我最好的猜测是这样的,但对我来说看起来太冗长了:
foo:
attr:
- bar: one
- baz: two
value: Lorem Ipsum
第二个问题:YAML中的属性是否有与此类似的语法?
foo ( bar: one, baz: two ): Lorem Ipsum
答案 0 :(得分:2)
如果您可以假设您不能拥有重复的属性名称,那么您的猜测可以简化为使用地图:
foo:
attr:
bar: one
baz: two
value: Lorem Ipsum
如果您想要一个更紧凑的表单,您可以使用YAML流样式,它类似于JSON,并且与您提供的第二个问题最接近:
foo: {attr: {bar: one, baz: two}, value: lorum ipsum}
......但它并不常见。
答案 1 :(得分:2)
存在从XML转换为JSON并返回的各种约定,这些约定也直接转换为YAML。
您可以在此处找到一个列表:http://wiki.open311.org/JSON_and_XML_Conversion/
有一个名为 xmljson 的python库可以实现其中的大部分。