繁体   English   中英

如何从 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"
         }
      }
   }
}

现在我想将“有效负载”值提取为 xml,所以我可以使用 python ElementTree 库遍历它进行进一步转换

是否有人可以提供帮助?

谢谢

要提取payload (XML),您可以像往常一样在 Python 中为 dicts 索引数据。 这将为您提供 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM