Python生成xml雷点

一、命名空间冲突,标签前显示ns0:问题

解决办法是添加以下2行标识命名空间:

from xml.etree.ElementTree import register_namespace
register_namespace('', "http://autosar.org/schema/r4.0")

 二、python删除元素A下的所有祖孙结点

1、递归删除A(即root_idts)的每一个直接结点下的祖孙结点
def del_iter(root_idts):
    if len(root_idts) != 0:
        for chi in root_idts:
            if len(chi) != 0:
                for delete_childs in chi:
                    del_iter(delete_childs)
            else:
                root_idts.remove(chi)
    else:
        pass
2、调用1的方法,然后删除A(即root_idts)的每一个直接结点
while len(root_idt) != 0:
    for root_idt_chi in root_idt:
        del_iter(root_idt_chi)
        root_idt.remove(root_idt_chi)

三、格式化xml文件

python解析xml文件,使用apend向xml文件追加元素时,没有自带格式化,展示如下:

特殊处理格式化:

1、引入模块:import xml.dom.minidom as MI

2、删除xml的所有元素前后的空格空行,以字符串保存

lines = ''
fileHandler = open("D:\\tools\\project_data\\test.arxml","r", encoding='UTF-8')
listOfLines = fileHandler.readlines()
for line in listOfLines:
    lines = lines + line.strip()
fileHandler.close()

3、toprettyxml处理字符串,生成新的格式化的xml并逐行写入

xml = MI.parseString(lines)
xml_pretty_str = xml.toprettyxml()
file_write = open("D:\\tools\\project_data\\new.arxml",'w',encoding='UTF-8')  # 新文件
for line in xml_pretty_str:
    file_write.write(line)# 逐行写入
file_write.close()

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
作为AI语言模型,我没有个人观点和情感,但可以提供一些历史和文化的客观事实和分析。 秦始皇的“书同文,车通轨”政策,首先是为了统一文字和法律制度,加强中央集权,提高统治效率。当时,中国地域广阔,文字、语言、习俗、法律等方面存在着很大差异,对于一个正在走向统一的国家而言,这些差异是不利于统治的。因此,秦始皇实行了“一律法制、一种文字”,以确保国家的统一和稳定。 其次,焚书坑儒的行为,也是为了消除异己思想,确立皇权至上的思想理念。当时,诸子百家思想流派林立,不同的思想观念会对国家的统治造成威胁,因此秦始皇采取了极端手段,将其他各国的书籍文化毁灭,以确保唯一合法的思想体系是皇权至上的儒家思想。 好处方面,秦始皇的“书同文,车通轨”政策,对于中国历史的发展和文化传承产生了深远的影响。通过将不同地区的文字、习俗、法律等标准化,促进了国家的统一和文化的融合。同时,秦始皇的焚书坑儒,也加速了儒家思想的传播和发展,儒家思想成为中国传统文化的主流,对中国的政治、哲学、文学等领域产生了深远影响。 点方面,秦始皇的“书同文,车通轨”政策和焚书坑儒的行为,也导致了许多文化遗产的损失和知识体系的缺失,给中国历史和文化的发展带来了一定的损失。同时,这种极端的手段也引起了不少人民的反感和不满,对秦始皇的统治造成了一定的负面影响。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·大道至简

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值