python将xml文件转换为json

直接上代码:

import os
import json
import xmltodict
 
def xml_to_JSON(xml):
    # 格式转换
    try:
        convertJson = xmltodict.parse(xml, encoding = 'utf-8')
        jsonStr = json.dumps(convertJson, indent=1)
        return jsonStr
    except Exception:
        print('something has occurred')
        pass
 
def find_read_list(path):
    # 获取该文件夹下所有以.xml为后缀的文件
    file_list = os.listdir(path)
    read_list = []
    for i in file_list:
        a, b = os.path.splitext(i)
        if b == '.xml':
            read_list.append(i)
        else:
            continue
    return read_list
 
def batch_convert(path):
    # 主函数
    in_list = find_read_list(path)
    print(in_list)
    for item in in_list:
        with open(path+'\\'+item, encoding = 'utf-8') as f:
            xml = f.read()
            converted_doc = xml_to_JSON(xml)
        new_name = item.rsplit('.xml')[0] + '.json'
        with open(path+'\\'+new_name, 'w+',encoding = 'utf-8') as f:
            f.write(converted_doc)
            print('{} has finished'.format(new_name))
 
# 在这边输入文件夹路径,接下来就会把这个文件夹下所有以.xml为后缀的文件转换为.json文件
# 注意Python文件路径的输入格式 \\
batch_convert('E:\\project\\tmp\\11')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python中的xmltodict库将XML文件转换JSON格式。具体步骤如下: 1. 安装xmltodict库 可以使用pip命令进行安装: ``` pip install xmltodict ``` 2. 读取XML文件 使用Python中的open函数读取XML文件,例如: ``` with open('example.xml', 'r') as f: xml_str = f.read() ``` 3. 将XML字符串转换为字典 使用xmltodict库中的parse函数将XML字符串转换为字典,例如: ``` import xmltodict xml_dict = xmltodict.parse(xml_str) ``` 4. 将字典转换JSON格式 使用Python中的json库将字典转换JSON格式,例如: ``` import json json_str = json.dumps(xml_dict) ``` 最终得到的json_str即为XML文件转换后的JSON格式字符串。 ### 回答2: XMLJSON是两种常用的数据交换格式,其中XML是比较早期的数据交换格式,而JSON则是近年来流行起来的数据交换格式。在一些需求中,我们可能需要将XML文件转换JSON格式,这时可以使用Python语言中的相关库进行实现。 Python中常用的XMLJSON处理库有:xml.etree.ElementTree和json。其中,xml.etree.ElementTree模块提供了解析XML文件的功能,可以将XML文件转换Python的字典或者列表等数据结构,而json模块则提供了处理JSON数据的相关方法。 具体转换过程如下: 1. 导入需要的库 ```python import json import xml.etree.ElementTree as ET ``` 2. 读取XML文件,并解析成Python对象 ```python tree = ET.parse('path/to/xml/file') root = tree.getroot() # 获取XML文件根节点 ``` 根据具体的XML文件格式,可以使用`get()`方法、`attrib`属性和`findall()`方法等获取节点信息。 3. 转换JSON格式并输出 ```python data = {} for child in root: data[child.tag] = child.text # 将XML文件转换Python字典 json_data = json.dumps(data) # 将Python字典转换JSON格式 print(json_data) # 输出JSON格式数据 ``` 在以上代码中,首先将XML文件转换Python字典,然后使用`json.dumps()`方法将Python字典转换JSON格式,并输出结果。 通过以上步骤,我们就可以将XML文件转换JSON格式。需要注意的是,XMLJSON之间存在部分差别,因此在转换过程中需要注意一些细节。另外,对于更加复杂的XML格式,可能需要使用lxml库来进行解析和处理。 ### 回答3: XML(标准通用标记语言的子集)和JSON(JavaScript对象表示法)是两种常见的数据格式。在Python中,我们经常需要将XML文件转换JSON格式。这种转换可以很容易地实现,只需使用Python内置的库即可。 在Python中,我们可以使用两个库来处理XML文件xml.etree.ElementTree和xmltodict。在处理JSON格式时,我们通常使用Python内置的json模块。 首先,让我们看一下使用xml.etree.ElementTree将XML文件转换JSON格式的方法。 首先,需要导入xml.etree.ElementTree库和json库: ``` import xml.etree.ElementTree as ET import json ``` 接下来,我们需要将XML文件解析为XML树。下面是一个示例XML文件: ``` <?xml version="1.0" encoding="UTF-8"?> <students> <student> <name>Tom</name> <age>18</age> <gender>male</gender> </student> <student> <name>Jenny</name> <age>20</age> <gender>female</gender> </student> </students> ``` 要解析此XML文件,我们可以使用以下代码: ``` xml_string = """ <?xml version="1.0" encoding="UTF-8"?> <students> <student> <name>Tom</name> <age>18</age> <gender>male</gender> </student> <student> <name>Jenny</name> <age>20</age> <gender>female</gender> </student> </students> """ xml_tree = ET.ElementTree(ET.fromstring(xml_string)) ``` 现在,我们将XML文件转换JSON。以下代码将遍历XML树中的每个元素,并将其转换JSON格式: ``` json_dict = {} for element in xml_tree.getroot(): json_dict[element.tag] = {} for sub_element in element: json_dict[element.tag][sub_element.tag] = sub_element.text json_string = json.dumps(json_dict) print(json_string) ``` 这将输出以下JSON字符串: ``` {"student": {"name": "Tom", "age": "18", "gender": "male"}, "student": {"name": "Jenny", "age": "20", "gender": "female"}} ``` 在上面的例子中,我们生成了一个字典对象,将每个XML元素转换为键/值对,然后将字典对象转换JSON格式。 除了使用xml.etree.ElementTree之外,我们还可以使用xmltodict库将XML文件转换JSON格式。这个库比xml.etree.ElementTree更容易使用,因为它直接将XML文件转换Python字典: ``` import xmltodict xml_string = """ <?xml version="1.0" encoding="UTF-8"?> <students> <student> <name>Tom</name> <age>18</age> <gender>male</gender> </student> <student> <name>Jenny</name> <age>20</age> <gender>female</gender> </student> </students> """ json_string = json.dumps(xmltodict.parse(xml_string)) print(json_string) ``` 这将输出与之前相同的JSON字符串。 总的来说,将XML文件转换JSON格式在Python中是相对容易的。使用Python内置的xml.etree.ElementTree库或xmltodict库可以方便地完成此任务,使我们能够轻松地在Python中处理不同的数据格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值