【问题标题】:Convert XML to JSON in Python by validating against schema通过验证模式将 XML 转换为 Python 中的 JSON
【发布时间】:2021-03-13 07:03:11
【问题描述】:

我想将 XML 转换为 JSON 格式。我在python中发现了很多包(xmltodict)可以做到这一点,但是当节点中只有一个元素时,它会将其转换为字典,但根据我拥有的模式,即使只有一个元素也应该放置在一个列表。 例如:

<books>
  <book>
    <name> bookName </name>
  </book>
</books>

预期的输出是:

 "books":[{
      "book":[{
           "name" : "bookName"
}]
}]
}

我得到的当前输出是:

{
"books":
    {
    "book":
        { 
        "name" : "bookName" 
        }
    }
} 

仅当只有一个元素时才会发生这种情况。我正在尝试通过验证我拥有的 json 模式来找到一种将 xml 转换为 json 的方法。我尝试使用 DECLXML 包,但是当 xml 中不存在节点时,它会创建空数组。如果有人可以帮助我,那将非常有帮助

【问题讨论】:

    标签: python json python-3.x xml


    【解决方案1】:

    看来,您的示例只有一条 &lt;book&gt; 记录和一条 name 作为您图书的信息。因此,您的代码没有在输出 JSON 中创建列表。

    您是否尝试使用xmltodict 模块作为替代方式?

    https://www.geeksforgeeks.org/python-xml-to-json/

    【讨论】:

    • 我尝试使用 xmltodict 模块,但它不适用于我的场景。有一个参数 force_list,我可以在其中传递应该在输出 json 中作为列表创建的元素。由于我的输入 xml 很大并且有很多嵌套节点,所以它没有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 2012-04-15
    • 2012-02-17
    • 1970-01-01
    • 2016-08-27
    相关资源
    最近更新 更多