使用Python修改XML节点

2024-05-15 23:47:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我以一个XML文件作为输入,必须用关键字搜索,即GENTEST05。 如果找到了,那么我需要选择它的父节点(在本例中,我要选择<ScriptElement>),然后用新内容替换完整的节点<ScriptElement>blahblah</ScriptElement>。在

...
...
<ScriptElement>
<ScriptElement>
<ScriptElement>
    <ElementData xsi:type="anyData">
        <DeltaTime>
        <Area>
        <Datatype>USER PROMPT [GENTEST05]</Datatype>
        <Description />
        <Multipartmessage>False<Multipartmessage>
        <Comment>false</Comment>
    </ElementData>
</ScriptElement>
<ScriptElement>
<ScriptElement>
...
...
...

我试着用beauthoulsoup来做这个。这就是我目前为止所做的,但还没有找到一个合适的方法。除了beautifulsoup,ElementTree或任何其他建议都是受欢迎的。在

^{pr2}$

Tags: 文件内容节点typecomment关键字xmldatatype
1条回答
网友
1楼 · 发布于 2024-05-15 23:47:34

好的,这里有一些示例代码可以帮助您开始。我使用ElementTree是因为它是一个内置模块,非常适合这种类型的任务。在

以下是我使用的XML文件:

^{1}$

下面是python程序:

^{pr2}$

我把程序简化了,这样你就可以改进它了。由于XML只有一个根节点,所以我假设您希望直接删除关键字匹配元素的所有父元素,直到根节点。在ElementTree中,可以调用根。删除()删除关键字匹配元素的取消故事的<ScriptElement>元素。在

这只是让您开始:这将只删除第一个元素,然后打印结果树并退出。在

输出:

<Script>
    <ScriptElement />
    <ScriptElement />
    <ScriptElement />
    <ScriptElement />
</Script>

相关问题 更多 >