我一直在使用 python 包 xmltodict 非常成功地将我的 xml 字符串解析为 python 字典。

但是,我有以下问题:

<child>
  <episode>["a","b"]</episode>
</child>

解析为:
 {
  child: {
    episode: ["a","b"]
    }
 }

然而:
<child>
  <episode>["a","b"]</episode>
  <episode>["c","d"]</episode>
</child`

解析为:
{ child:
   {
    episode: [
     ["a","b"],
     ["c","d"]
     ]
    }
 }

这意味着我编写的代码将根据我正在查看的 child 观察结果给我不同的结果。

我想要的是一种指定始终将剧集解析为数组的方法 - 类似于这个 .Net package 。在 Python 中执行此操作的最佳方式(或方式)是什么?

最佳答案

"episodes" 键上尝试展平功能?

def flatten(it):
    res = []
    for item in it:
        if not isinstance(item, list):
            res.append(item)
            continue
        res.extend(item)
    return res

关于Python xmltodict 带有属性的强制数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32203055/

10-12 04:28