python:将xml格式文件转换成json格式文件

由于json格式的文件在处理起来,有很强的便利性,而工作中每天产生大量的xml格式的文件,所以有需求将xml格式的文件转换成json格式的文件。
下面直接贴出代码,有两个版本,根据需求自由选择:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Function:Xml_To_Json
#version 1.0
#Author: Herman

#需要用到的两个模块
import xmltodict;
import json;

#定义函数
def pythonXmlToJson():
    with  open(‘filename.xml‘, ‘r‘) as f:
        xmlStr = f.read()

    convertedDict = xmltodict.parse(xmlStr);
    jsonStr = json.dumps(convertedDict, indent=1);
    print jsonStr;
#执行函数
if __name__=="__main__":
    pythonXmlToJson();

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Function:Xml_To_Json
#version 1.1
#Author: Herman
#Date: 2018-06-01
#Usage: python Xml_To_Json.py xmlfile_dir >> tar_dir

import xmltodict;
import json;
import sys;

def pythonXmlToJson():
    with  open(sys.argv[1], ‘r‘) as f:
        xmlStr = f.read()

    convertedDict = xmltodict.parse(xmlStr);
    jsonStr = json.dumps(convertedDict, indent=1);
    print jsonStr;

if __name__=="__main__":
    pythonXmlToJson();


这两个版本的区别其实很明显了,第一个缺乏灵活性,第二个使用了一个类似shell中位置变量,让这个Python脚本更有灵活性。



PS:Python学习中,大家有什么更好的实现方式,欢迎留言讨论哦~

原文地址:http://blog.51cto.com/13587182/2125578

时间: 2024-12-24 05:27:58

python:将xml格式文件转换成json格式文件的相关文章

java将XML文档转换成json格式数据

功能 将xml文档转换成json格式数据 说明 依赖包: 1. jdom-2.0.2.jar : xml解析工具包; 2. fastjson-1.1.36.jar : 阿里巴巴研发的高性能json工具包 程序源码 package com.xxx.open.pay.util; import com.alibaba.fastjson.JSONObject; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdo

Python:将utf-8格式的文件转换成gbk格式的文件

需求:将utf-8格式的文件转换成gbk格式的文件 实现代码如下: def ReadFile(filePath,encoding="utf-8"): with codecs.open(filePath,"r",encoding) as f: return f.read() def WriteFile(filePath,u,encoding="gbk"): with codecs.open(filePath,"w",encodi

C# 将MSMQ消息转换成Json格式 【优化】

C# 将MSMQ消息转换成Json格式  [优化] 转换函数: private string ConvertToJSON(string label, string body) { //TODO: convert to json string[] Lablelist = label.Split('|'); string[] Bodylist = body.Split('|'); string JsonStr = "{\""; NameValueCollection nvc =

C# Tips: 将 VS2012 / VS2013 的.sln文件、project文件转换成 VS2010格式

原来有一些VS2013的工程文件(.sln..csproj),使用.Net 4.0.现需要将它们转换成VS2010格式. 经实验,办法如下: (1) 在Solution文件(.sln)中: 把文件头部这样的行: Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2013 把它们替换成: Microsoft Visual Studio Solution File, Format Version 1

linux环境下deb格式文件转换成rpm格式

以 alien_8.87.tar.gz 为例: 下载.安装 alien_8.87.tar.gz [[email protected] ~]# wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.87.tar.gz [[email protected] ~]# tar zxvf alien_8.87.tar.gz [[email protected] ~]# cd alien [[email protected] alien

Map对象转换成Json格式的String字符串

1 //action处理页面发来的String,put到map转换成Json格式的String字符串 2 @RequestMapping("/seleteOaOrder") 3 @ResponseBody 4 public Object seleteOaOrder(String param){//param = "小明"; 5 System.out.println("+++++++++++++++++param:"+param); 6 if(pa

C#自定义将各种对象转换成JSON格式的类

这个C#封装类可以用于将各种格式的数据转换成JSON格式,包括List转换成Json,普通集合转换Json ,DataSet转换为Json ,Datatable转换为Json ,DataReader转换为Json等,如果你需要将对象转换成JSON,可以使用这个类. using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using

数据库记录转换成json格式 (2011-03-13 19:48:37) (转)

http://blog.sina.com.cn/s/blog_621768f30100r6v7.html 数据库记录转换成json格式 (2011-03-13 19:48:37) 转载▼ 标签: 杂谈   <?php/1.在company数据user表中取出10条数据,保存为数组2.在将数组转化为json格式,传递给js3.用json解析器将传递过来的json字符串转化为json对象,4.用document.write输出语句打印在页面上*/ $conn = mysql_connect(“loc

php json_encode 将数组转换成json格式数据出错

当用php 的 json_encode 函数将数组转换成json格式的时候,如果该数组是一个索引数组而且数组的索引的顺序不是按照0,1,2...排序的话,在转换成json数据的时候就不能得到你所想要的json数组,而是一个json对象 这个问题是在开发app接口的时候发现的,因为php和app之前是通过json数据格式进行数据通讯的,而app那边对json的数组和对象类型很敏感,本来是数组格式的,可是突然变对象了,导致出错,后来就发现,php这边的索引数组的键名没有按照顺序排序的,导致转成jso