如何从 python3 中的 json 文件中读取 xml 部分?

How to read the xml part from json file in python3?

我有以下 json 和 xml 文件。我正在寻找一种解决方案来提取 xml 部分并使用 python 'ElementTree' 或任何其他库遍历 xml 属性..

{
   "Data":{
      "myevent":{
         "payload":"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>",
         "meta_data":{
            "Env":"l1-7",
            "EventName":"myEventName",
            "Source":"mysource",
            "Hash":"myhash",
            "PayloadKey":"mypayload",
            "ByteSize":300,
            "EventTim":"myTime",
            "Entity":"myEntity",
            "version":"myVersion"
         }
      }
   }
}

现在我想将“payload”值提取为 xml,这样我就可以使用 python ElementTree liberary

遍历它进行进一步的转换

如果有人可以提供帮助,我们将不胜感激?

谢谢

要提取 payload(XML),您可以像通常在 Python 中为字典那样索引数据。这会给你一个 Python 字符串。然后,你可以把它传递给fromstring方法,这样你就可以遍历它了。

示例:

import xml.etree.ElementTree as ET


data = {
   "Data":{
      "myevent":{
         "payload":"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>",
         "meta_data":{
            "Env":"l1-7",
            "EventName":"myEventName",
            "Source":"mysource",
            "Hash":"myhash",
            "PayloadKey":"mypayload",
            "ByteSize":300,
            "EventTim":"myTime",
            "Entity":"myEntity",
            "version":"myVersion"
         }
      }
   }
}

tree = ET.fromstring(data['Data']['myevent']['payload'])
for element in tree:
    print(element.text)