当前位置:首页 > 编程笔记 > 正文
已解决

python转xml为json

来自网友在路上 161861提问 提问时间:2023-11-02 16:08:04阅读次数: 61

最佳答案 问答题库618位专家为你答疑解惑

以下代码取自获取PA防火墙策略XML文件并转为JSON文件的场景:
通过PA防火墙API获取防火墙策略
防火墙策略xpath为./result/security/rules/entry
以下代码实现将所有entry即策略与策略相关属性转为json对象并存储至文件

import xml.etree.ElementTree as ET
import requests
import jsonentries_XPath = './result/security/rules/entry'# xml"对象"转字典
def element_to_dict(element):result = {}if element.tag == 'entry':result['name'] = element.attrib.get('name')result['uuid'] = element.attrib.get('uuid')if len(element) == 0:return element.textfor child in element:child_data = element_to_dict(child)if child.tag in result:if type(result[child.tag]) is list:result[child.tag].append(child_data)else:result[child.tag] = [result[child.tag], child_data]else:result[child.tag] = child_datareturn result# xml转json
def transfer_xml_to_json(xml_policy_response):root = ET.fromstring(xml_policy_response)entries = root.findall(entries_XPath)json_policy_response = [element_to_dict(entry) for entry in entries]return json_policy_responseif __name__ == '__main__':get_api_key(firewall_ip, username, password)xml_policy_response = get_security_policy(firewall_ip, api_key)json_policy_response = transfer_xml_to_json(xml_policy_response.text)with open('rules.json', 'w') as f:json.dump(json_policy_response, f)
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"python转xml为json":http://eshow365.cn/6-30322-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!