Python读写XML后保持节点属性顺序不变

Python读写XML后保持节点属性顺序不变

试过xml.etree.ElementTree和xml.dom.minidom两个python的库,发现读取后输出都会改变xml里面节点属性的顺序. 虽然这个顺序其实没什么意义但是有些时候时候会比较纠结,找了好多资料最后在stackoverflow中找到一些有用的资料.最后亲测可用.

原资料地址

python环境:2.7

库:import xml.dom.minidom

  • 修改minidom源码,引入相应的库
from collections import OrderedDict
  • 根据下面代码 注释掉相应的源码 新增 self._attrs = OrderedDict()
__init__(...)
    self._attrs = OrderedDict()
    #self._attrs = {}
writexml(...)
    #a_names.sort()

原文地址:https://www.cnblogs.com/crazyzero/p/10111364.html

时间: 2024-10-30 01:49:35

Python读写XML后保持节点属性顺序不变的相关文章

python+selenium自动化软件测试(第12章):Python读写XML文档

XML 即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进 行定义的源语言.xml 有如下特征: 首先,它是有标签对组成:<aa></aa> 标签可以有属性: <aa id=’123’></aa> 标签对可以嵌入数据: <aa>abc</aa>Python对XML文档读写常用有几个模块: (1) xml.etree.ElementTree ElementTree就像一个轻量级的DOM,具有方便友好的A

使用Dom4j解析包含有DB连接信息的XML文件以及节点属性的获取

包含DB连接信息的XML文件 1 <!--示例1——三级显示--> 2 <db-connections> 3 <connection> 4 <name>DBTest</name> 5 <jndi></jndi> 6 <url> 7 <![CDATA[jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=UTF8]

Python 读写xml

python对XML的解析 常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同. python有三种方法解析XML: SAX,DOM,以及ElementTree: 1.SAX (simple API for XML ) python 标准库包含SAX解析器,SAX用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件. 2.DOM(Document Object Model) 将XML数据在内存中解析成一个树,通

python读写xml

来自http://blog.csdn.net/liuyuehui110/article/details/7287897 备份防止链接失效 一.XML的读取. 在 NewEdit 中有代码片段的功能,代码片段分为片段的分类和片段的内容.在缺省情况下都是用XML格式保存的.下面我讲述一下,如何使用minidom来读取和保存XML文件. 下面是片段分类的一个示例文件--catalog.xml <?xml version="1.0" encoding="utf-8"?

Java:使用DOM4j来实现读写XML文件中的属性和元素

DOM4可以读取和添加XML文件的属性或者元素 读取属性: public static void ReadAttributes() throws DocumentException { File file = new File("D:\\cmz\\java\\XMLTest\\Customertest.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = d

python 生成 xml文件 属性的顺序问题

需求很奇葩. 文档示例 <ITEM key="username" eng="User Name" chn="用户名" val="小明"/> 用python 的xml 导出的xml文件,相应的内容是 <ITEM  chn="用户名" eng="User Name" key="username" val="小明"/> 我们都知道

SpringMVC项目中web.xml中的节点加载顺序问题

SpringMVC项目中web.xml中的节点加载顺序问题,之前以为web.xml中就是一些配置信息,和节点的顺序没有关系,后来才发现初始化时的加载顺序是和节点的顺序相关的. 完整的web.xml文件内容: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=&quo

递归遍历XML节点属性和属性值

public static XmlDocument FileMergedIntoXML(string strXmlPathPublic) { string strXmlPathPublic = string.Format(@"{0}file1.xml", AppDomain.CurrentDomain.BaseDirectory); XmlDocument docPublic = new XmlDocument(); XmlReaderSettings settings = new X

java对xml节点属性的增删改查

学习本文之前请先看我的另一篇文章JAVA对XML节点的操作可以对XML操作有更好的了解. 1 package vastsum; 2 3 import java.io.File; 4 import java.io.FileWriter; 5 import java.util.Iterator; 6 7 import org.dom4j.Attribute; 8 import org.dom4j.Document; 9 import org.dom4j.Element; 10 import org.