封装好的函数如下
import json
import xml.etree.ElementTree as ET
def json_to_xml(json_data):
root = ET.Element("root")#根节点
def _to_xml(parent, data,old_key=None):
if isinstance(data, dict): # 字典处理
for key, value in data.items():
element = ET.SubElement(parent, key)
_to_xml(element, value,old_key=key)
elif isinstance(data, list):
# 列表处理
for item in data:
if old_key:
_to_xml(parent, item)
else:
array_element = ET.SubElement(parent, 'array')
_to_xml(array_element, item)
else:
parent.text = str(data)
_to_xml(root, json_data)
return ET.ElementTree(root)
使用方法:
xml_tree = json_to_xml("对应的json字符串")
使用Xpath语法提取数据
titles = xml_tree.findall('//projectId')
for title in titles:
#提取到的元素为原始样式
print(ET.tostring(title, encoding='unicode'))
#提取文本
print(title.text)
当前仅支持登录后发布评论