#!/usr/bin/env python3 import argparse import json import xmltodict import sys def main(): parser = argparse.ArgumentParser() parser.add_argument( 'infile', type=argparse.FileType('r'), nargs='?', default=sys.stdin, ) parser.add_argument( 'outfile', type=argparse.FileType('w'), nargs='?', default=sys.stdout, ) parser.add_argument( '-p', '--pretty', help='Indent JSON with tabs and newlines.', action='store_true', default=False, ) args = parser.parse_args() args.outfile.write(json.dumps( xmltodict.parse(args.infile.read()), indent="\t" if args.pretty else None, )) if __name__ == '__main__': main()