Python读取XML节点
Python读取XML节点
本文将从多个方面对Python读取XML节点进行详细阐述。
一、读取XML文件
首先,我们需要导入`xml.etree.ElementTree`模块来进行XML文件的读取。
import xml.etree.ElementTree as ET tree = ET.parse('example.xml') root = tree.getroot()
上述代码通过`ET.parse()`方法读取XML文件,并通过`getroot()`方法获取根节点。
接下来,我们可以通过遍历根节点的子节点来获取XML中的具体数据。
for child in root: print(child.tag, child.attrib)
上述代码将打印出根节点的所有子节点的标签和属性。
除此之外,我们也可以使用XPath来针对特定的节点进行定位。
for elem in tree.iterfind('country'): name = elem.find('name').text population = elem.find('population').text print(name, population)
上述代码通过XPath表达式`'country'`找到所有的`
二、解析XML节点
在读取XML节点后,我们可以进一步解析节点的子节点内容。
for elem in root.iter('country'): for subelem in elem: print(subelem.tag, subelem.text)
上述代码将打印出所有`
此外,我们也可以使用XPath语法来解析节点。
for elem in tree.iterfind('.//country[@name="Liechtenstein"]'): name = elem.find('name').text population = elem.find('population').text print(name, population)
上述代码使用XPath表达式`.//country[@name="Liechtenstein"]`定位到名为"Liechtenstein"的`
三、修改XML节点
除了读取和解析XML节点之外,我们也可以修改节点的内容。
for elem in tree.iterfind('country'): population = elem.find('population') population.text = str(int(population.text) + 1000) population.set('updated', 'yes') tree.write('output.xml')
上述代码将修改每个`
四、创建XML节点
除了读取和修改现有的XML节点之外,我们还可以创建新的节点并添加到XML中。
new_country = ET.SubElement(root, 'country') new_country.attrib['name'] = 'Canada' name = ET.SubElement(new_country, 'name') name.text = 'Canada' population = ET.SubElement(new_country, 'population') population.text = '37590000' tree.write('output.xml')
上述代码创建了一个名为"Canada"的新节点,并设置其子节点的值,最后将其写入到新的XML文件中。
五、总结
本文介绍了Python读取XML节点的基本方法,包括读取XML文件、解析XML节点、修改XML节点和创建XML节点等。通过这些方法,我们可以轻松地处理XML数据并进行必要的操作。
评论关闭