python xml在某个节点下添加节点
时间: 2024-05-06 19:19:57 浏览: 279
可以使用Python内置的xml.etree.ElementTree模块来添加节点。以下是一个简单的示例,它在一个名为“root”的XML节点下添加了一个名为“new_node”的节点:
```python
import xml.etree.ElementTree as ET
# 解析XML文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 创建新节点
new_node = ET.Element('new_node')
new_node.text = 'This is a new node.'
# 在root节点下添加新节点
root.append(new_node)
# 保存修改后的XML文件
tree.write('example.xml')
```
这个示例假设存在一个名为“example.xml”的XML文件,它包含一个名为“root”的根节点。你可以根据你的实际需求修改这个示例。
相关问题
python xml在非根节点下添加节点
可以使用ElementTree模块中的Element对象和SubElement方法来在非根节点下添加节点。
示例代码:
```python
import xml.etree.ElementTree as ET
# 解析xml文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 在第一个person节点下添加一个child节点
person = root.find('person')
child = ET.SubElement(person, 'child')
child.set('name', 'John')
child.set('age', '5')
# 保存修改后的xml文件
tree.write('example.xml')
```
在上面的代码中,我们首先解析了一个名为`example.xml`的xml文件,并获取了它的根节点。然后,我们使用`root.find()`方法找到了第一个`person`节点,并使用`ET.SubElement()`方法在其下添加了一个名为`child`的子节点。在添加子节点时,我们还设置了两个属性`name`和`age`。最后,我们使用`tree.write()`方法保存了修改后的xml文件。
Python XML 增加子节点
在 Python 中,使用 `ElementTree` 模块可以很方便地操作 XML 文件。要在 XML 中增加子节点,可以使用 `Element` 对象的 `append` 方法或 `insert` 方法。
首先需要导入 `ElementTree` 模块:
```python
import xml.etree.ElementTree as ET
```
然后可以使用 `ET.Element` 函数创建一个 `Element` 对象,并使用 `SubElement` 方法增加子节点:
```python
root = ET.Element('root')
child1 = ET.SubElement(root, 'child1')
child2 = ET.SubElement(root, 'child2')
```
其中,`root` 是根节点,`child1` 和 `child2` 是两个子节点。
如果要在现有的节点上增加子节点,可以使用 `append` 方法或 `insert` 方法:
```python
child3 = ET.Element('child3')
root.append(child3) # 在 root 节点末尾增加子节点
child4 = ET.Element('child4')
root.insert(1, child4) # 在 root 节点的第二个位置增加子节点
```
其中,`append` 方法会在节点末尾增加子节点,`insert` 方法可以指定新节点的位置。
最后,使用 `ET.ElementTree(root).write()` 函数可以将修改后的 XML 文件写入磁盘:
```python
ET.ElementTree(root).write('new.xml', encoding='utf-8', xml_declaration=True)
```
完整的代码示例:
```python
import xml.etree.ElementTree as ET
root = ET.Element('root')
child1 = ET.SubElement(root, 'child1')
child2 = ET.SubElement(root, 'child2')
child3 = ET.Element('child3')
root.append(child3)
child4 = ET.Element('child4')
root.insert(1, child4)
ET.ElementTree(root).write('new.xml', encoding='utf-8', xml_declaration=True)
```
阅读全文