- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 xmltodict 进行 XML 解析/反解析,我需要在处理一个文档时保留 XML 元素的顺序。玩具 REPL 示例:
>>> import xmltodict
>>> xml = """
... <root>
... <a />
... <b />
... <a />
... </root>
... """
>>> xmltodict.parse(xml)
OrderedDict([('root', OrderedDict([('a', [None, None]), ('b', None)]))])
>>> xmltodict.unparse(_)
'<?xml version="1.0" encoding="utf-8"?>\n<root><a></a><a></a><b></b></root>'
请注意,原始序列 [a, b, a]
被替换为 [a, a, b]
。有没有办法用 xmltodict
保留原始顺序?
最佳答案
它不是 super 优雅,但 minidom 可以很好地完成这项工作:
import xml.dom.minidom as minidom
xml = """
<root>
<a />
<b />
<a />
</root>
"""
doc = minidom.parseString(xml) # or minidom.parse(filename)
root = doc.getElementsByTagName('root')[0] # or doc.documentElement
items = [n for n in root.childNodes if n.nodeType == doc.ELEMENT_NODE]
for item in items:
print item.nodeName
您当然可以使用像 lxml 这样的成熟的 DOM API,但是对于按文档顺序迭代某些节点的适度任务,这可能不是必需的。
关于Python xmltodict : How to preserve XML element order?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34636273/
作为 VBA 的初学者,我正在尝试临时学习大部分内容,所以请原谅我的灰尘。 我正在编写一个子例程,用于读取文本文件中的行。每行均以空格分隔,并以 ' 作为文本标识符。我要求将每一行作为多维数组分成多个
关注此 tutorial about C and gdb .这当然是一个有用的教程,但他们从这样的例子开始: (gdb) print a $1 = {1, 2, 3} (gdb) ptype a ty
我正在看别人的vba excel代码。他们在两个循环中都执行 ReDim Preserve dataMatrix(7, i) 。这是做什么的? 另外,第二个循环似乎只是覆盖了第一个循环中的数据,对吗?
我正在使用谷歌浏览器和 React.js。 编辑:这是一个带有纯 css 的 jsfiddle: https://jsfiddle.net/4jkvag25/ 我有与教程完全相同的代码,但仍然无法正常
在 python 中的代码是: list = "a123,145B,12" re.split("[a-zA-Z_]",list) 结果: ['', '123,145', ',12'] 我怎样才能保留字
我正在读取一个 XML 文件,其中有“纯空白文本节点”: I love Mozart. 在上面的(简化的)示例中,结束标记和开始标记之间有空格(一个空格)。我需要保留那个空间。 在 RapidXML
考虑这段代码(引自 geeksforgeeks.org,作者 Tushar Roy)如果从根到叶的路径具有总和为指定值的键,则计算真或假: bool hasPathSum(struct node* n
我的网页中有一个 div contenteditable。当您在 div contenteditable 中键入一些文本时,文本会在隐藏的文本区域中重现以进行后期处理(表单 method="post"
我需要从处理 .txt 期间生成的变量值填充数组文件。然而,上限取决于输入线。我怎样才能使以下事情起作用? Dim myArr As Variant ReDim Preserve myArr(1)
我有 myfile.ps包括矢量图像。 但是当我跑 ps2pdf myfile.ps 输出页面大小似乎是A4:矢量图像太大而被切掉,因此大约丢失了一英寸。 除了原始矢量图像外,输出 PDF 文件中还会
我有一个自定义的NSView,用于显示背景颜色。这有效。但是,该图像中的阴影未保留。 图像的所有透明或半透明区域都呈现为黑色。我该如何解决这个问题? - (void)drawRect:(NSRect)
如何默认启用 Chrome 开发者工具中网络工具中的“保留日志”?每次我按 F12 然后选择“网络”选项卡时,我需要单击“保留日志”复选框以使其保留请求/响应。是否可以默认一直检查? 顺便说一句,此功
一方面,维基百科写了乱序执行的步骤: Instruction fetch. Instruction dispatch to an instruction queue (also called inst
这是引用this question 。 我想重命名大型数据框中的列子集。我希望以下代码将列 X4、X5、X6 和 X7 重命名为 gradek分别为 、grade1、grade2 和 grade3:
我有以下代码将图像(位图)转换为字节数组: public byte[] ConvertImageToByteArray(Image imageToConvert, ImageFormat format
简介 我经常使用 Google Closure Compiler 来压缩我的 JavaScript 文件。现在,它似乎很好地压缩了我的代码。 现在,我尝试养成将this 对象存储在局部变量中的习惯,因
我正在尝试将 MySQL 表数据导出到 MongoDB,在 Rails 中创建一组“Create”语句。 我的问题是:在我的原始表中,我有“created_at”和“updated_at”字段,即使我
我今天做了一些实验,发现问题归结为 transform: rotateY(180deg) 和使用 transform-style: preserve-3d 的容器旋转。我将再次描述细节。原始问题在下面
希望在这里得到一些意见。 在我当前的 iOS 项目中,我使用 CoreBluetooth 和 swift。该应用程序可以在后台使用 CoreBluetooth 进行通信,这基本上可以正常工作。外围设备
我正在使用 xlrd 和 xlwt 遍历某些单元格并根据某些条件检查它们。如果他们符合我继续的标准,如果不符合,我想将文本涂成红色。不同单元格的格式会发生变化,有些具有背景颜色,有些是粗体,有些大小不
我是一名优秀的程序员,十分优秀!