终于再也不需要在网页上排版xml了,早该写这东西了。
参考了这个博客 https://blog.csdn.net/xcookies/article/details/78647242
python3 程序,用法很简单
新建一个文本文件并改名为 pretty_xml.py
将下面的源码写进去保存
需要依赖包 lxml,如果没有就用以下命令安装依赖
pip install lxml
使用方法
方法1:将美化后的xml输出到屏幕上
python pretty_xml.py input.xml
方法2:将美化后的xml保存到一个文件上
python pretty_xml.py input.xml -o output.xml
得到美化后的xml文件
pretty_xml.py 代码
from lxml import etree as et
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='pretty_xml 美化xml文件的工具')
parser.add_argument("input_xml", help="输入xml文件路径", type=str)
parser.add_argument('-o', dest='output_xml', help="输出xml文件路径,如果不指定则输出到屏幕上", type=str, default=None, required=False)
args = parser.parse_args()
xml_parse = et.XMLParser(remove_blank_text=True)
tree = et.parse(open(args.input_xml, 'r', encoding='utf8'), xml_parse)
if args.output_xml is None:
print(et.tostring(tree, pretty_print=True).decode('utf8'))
else:
tree.write(args.output_xml, pretty_print=True)
<root><aa>aatext<cc>cctext</cc></aa><bb>bbtext<dd>ddtext<ee>eetext</ee></dd></bb></root>
使用minidom模块中的toprettyxml和writexml方法都有参数可以优化XML,但是有两个问题:
a. 如果解析的XML已经是美化过的,那么执行该方法会多出很多空行
b. 产生的结果会将text也独立一行,如下:
aatext
在线XML美化格式化工具
美化格式化XML:压缩缩小xml 代码以美化、格式化、美化,使你的 xml 更易于阅读。语法高亮、自动完成功能也可以更轻松地编写代码。
美化格式化XML:压缩缩小xml 代码以美化、格式化、美化,使你的 xml 更易于阅读。语法高亮、自动完成功能也可以更轻松地编写代码。
https://toolgg.com/xml-beautifier.html
@TOC今天第一次加入进来
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
全新的界面...
#from xml.etree import ElementTree as etree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import SubElement
from xml.etree.ElementTree import ElementTree
imagePath .
之前在转换数据集格式的时候需要将json转换到xml文件,用lxml包进行操作非常方便。1. 写xml文件a) 用etree和objectifyfrom lxml import etree, objectifyE = objectify.ElementMaker(annotate=False)anno_tree = E.annotation(E.folder("VOC2014_insta...
解析XML和HTML文档:lxml提供了两种主要的解析器,分别是基于C的解析器和基于Python的解析器。基于C的解析器使用libxml2库,速度较快,而基于Python的解析器则更加容易安装和使用。使用lxml的解析器,可以将XML和HTML文档解析成一个树状结构的Element对象,从而可以通过操作Element对象来访问、修改和操作文档的内容。Element对象:Element对象是lxml中的主要对象,它代表了XML或HTML文档中的一个元素或标签。
在数据处理过程中,XML(可扩展标记语言)常常被用作数据存储和传输。Python的lxml库是一个强大的库,用于解析XML和HTML文档。本文将向您介绍如何使用lxml库来解析和处理XML文档。