python - 如何将根XML的某些子项连续写入新文件,Python
问题描述
我从一个大的 XML 文件开始,并尝试创建一个只包含我想要的元素的新文件(一个包含某个序列号)。我几乎一切正常,唯一的问题是,当我将元素写入一个新文件时,它似乎一遍又一遍地重写自己,我最终只打印了文件中的最后一个元素。我怎样才能使下一个元素写入文件时它将在前一个元素之后开始?我正在考虑某种类型的行数并插入我只是不知道如何格式化它。
这是我的循环,它找到我想要的元素并将它们写入文件:
for child in root:
for element in child:
if element.tag == 'DeviceId':
if element.text == 'NS-00-00000':
f = open('new_3.log','w')
p = (ET.tostringlist(child, encoding='unicode', pretty_print=True))
print(p)
f.write('\n'.join(p))
f.close()
谢谢!
解决方案
推荐阅读
- r - 错误:$ 运算符对于使用 ggplot2 的原子向量无效
- python - 为什么这个 python 代码会产生副作用?
- python - 如何通过查看比较运算符对列表进行排名?
- python - 如何在Google or-tools中设置车辆最大行驶距离和GlobalSpanCostCoefficient
- c++ - DirectX 11 引擎在第三次代码改进后没有突然运行,我不知道为什么
- python - 在 Python 或 SQL 中使用或条件的唯一标识符
- python - 为什么每次进行新查找时,Selenium 都会抛出“StaleElementReference”异常?
- flutter - Flutter:访问另一个类/文件中的函数
- excel - 在 VBA 中删除具有多个条件的行
- ruby-on-rails - 为什么我的 axios 使用 React.useEffect 一遍又一遍地从 Rails 后端获取调用?