python解析xml字符串
时间: 2023-08-07 18:23:40 浏览: 142
可以使用Python自带的xml库来解析xml字符串。具体操作如下:
```python
import xml.etree.ElementTree as ET
xml_string = "<root><person><name>John</name><age>30</age></person></root>"
# 将xml字符串转换为Element对象
root = ET.fromstring(xml_string)
# 遍历xml节点
for person in root.findall('person'):
name = person.find('name').text
age = person.find('age').text
print(f"Name: {name}, Age: {age}")
```
输出结果为:
```
Name: John, Age: 30
```
其中,`ET.fromstring()`方法将xml字符串转换为Element对象,`root.findall()`方法可以查找所有符合条件的节点,`person.find()`方法可以查找指定标签的节点并获取其文本内容。
相关问题
python解析xml字符串 beautfulsoup
除了使用Python自带的xml库解析xml字符串外,还可以使用第三方库BeautifulSoup来解析xml。BeautifulSoup是一个网页解析库,可以处理各种HTML和XML格式的文档。
具体操作如下:
```python
from bs4 import BeautifulSoup
xml_string = "<root><person><name>John</name><age>30</age></person></root>"
# 将xml字符串转换为BeautifulSoup对象
soup = BeautifulSoup(xml_string, 'xml')
# 遍历xml节点
for person in soup.find_all('person'):
name = person.find('name').text
age = person.find('age').text
print(f"Name: {name}, Age: {age}")
```
输出结果与使用Python自带的xml库解析的结果相同:
```
Name: John, Age: 30
```
其中,`BeautifulSoup()`方法将xml字符串转换为BeautifulSoup对象,'xml'参数指定了解析器类型,`soup.find_all()`方法可以查找所有符合条件的节点,`person.find()`方法可以查找指定标签的节点并获取其文本内容。
python 读取xml获取包含指定标签的数据_使用python在xml中使用特定的匹配字符串解析子标签...
可以使用Python中的ElementTree模块来读取XML文件,并使用XPath表达式来查找包含特定标签的数据。
以下是一个示例代码,其中使用XPath表达式“//tag[contains(text(),'match')]”来查找包含“match”字符串的所有“tag”子标签。
```python
import xml.etree.ElementTree as ET
# 读取XML文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 查找包含特定标签的数据
for elem in root.findall(".//tag[contains(text(),'match')]"):
print(elem.text)
```
在上面的代码中,“example.xml”是要读取的XML文件的路径,“tag”是要查找的标签名称,“match”是要匹配的字符串。如果找到匹配的子标签,则使用“elem.text”来获取其文本内容。
阅读全文