Python 解析xml并将其复制到新文件?
我需要解析一个大的xml文件,并让我的代码使用原始文件中需要的元素生成一个新的xml文件。你会怎么做?很多时候我会复制代码,有时编辑和插入我自己的代码。有哪些模块可以让我的生活更轻松?如果我想解析所有这些东西,复制到一个新文件,但更改动作标记,等等,这些东西在python中容易完成吗Python 解析xml并将其复制到新文件?,python,xml,parsing,Python,Xml,Parsing,我需要解析一个大的xml文件,并让我的代码使用原始文件中需要的元素生成一个新的xml文件。你会怎么做?很多时候我会复制代码,有时编辑和插入我自己的代码。有哪些模块可以让我的生活更轻松?如果我想解析所有这些东西,复制到一个新文件,但更改动作标记,等等,这些东西在python中容易完成吗 <COMMAND name="interface range" help="Apply commands to a range of ports" view="configur
<COMMAND name="interface range"
help="Apply commands to a range of ports"
view="configure-range-view"
viewid="iface-range">
<PARAM name="interface_method"
help="Method to get interface information"
optional="false"
ptype="SUBCOMMAND"
mode="switch">
<PARAM name="FastEthernet"
help="FastEthernet IEEE 802.3"
ptype="SUBCOMMAND"
mode="subcommand">
<PARAM name="iface_num"
help="FastEthernet interface number"
ptype="IFACE_NUM">
</PARAM>
</PARAM>
<PARAM name="GigabitEthernet"
help="GigabitEthernet IEEE 802.3z"
ptype="SUBCOMMAND"
mode="subcommand">
<PARAM name="iface_num"
help="GigabitEthernet interface number"
ptype="GIGETH_NUM">
</PARAM>
</PARAM>
</PARAM>
<ACTION>
/path/to-scripts/script.py
</ACTION>
</COMMAND>
/path/to scripts/script.py
这是我正在使用的页面,其中列出了库,wiki.python.org/moin/PythonXml我不想找人工/代码等,我希望自己做这件事,我想了解人们在这方面的经验,我想知道是否有一种大家都使用的标准形式,比如ElementTree。我在这里读过其他的帖子,也问过同样的问题,但都是老问题 我也面临着类似的情况。我使用xml.etree.ElementTree和copy模块来解析和复制xml。默认情况下,我使用了浅拷贝。您可以使用deepcopy
import xml.etree.ElementTree as ET
import copy
tree = ET.parse("SourceFile.xml")
root = tree.getroot()
command = ET.Element("COMMAND")
for param in root.iter('COMMAND'):
condition:
paramscopy = copy.copy(param)
command.append(paramscopy)
btree = ET.ElementTree(command)
btree.write("NewFile.xml")
你的第一次尝试是什么样子的?你第一次在谷歌上搜索python xml的结果是什么?@rectummelancolique我从pythonxml中获得了ElementTree,但是有很多不同的库等等,所以我想从人们的经验中了解他们使用什么,以及为什么他们认为它很好,它是否符合我的要求,限制是什么等等然后明确地引用您考虑过的库、您使用它们编写的代码以及您不喜欢使用这些库的地方。因为这是你的问题,看起来你根本没有做任何努力,你在追求自由劳动。@rectummelancolique这是我正在使用的页面,其中列出了库,我不是在寻找劳动/代码等,我希望自己做这件事,我是在寻找人们在这方面的经验,我想知道是否有一种大家都使用的标准格式,比如ElementTree。我在这里读过其他的帖子,也问过同样的问题,但都是老问题。这是一个可行的选择。它可以。查看“序列化”示例,了解如何重写XML的示例。