Python 正则表达式实现 XML 解析和提取
以下是 Python 中使用正则表达式实现 XML 解析和提取的示例代码:
import re xml_str = """ <bookstore> <book category="Children"> <title>Harry Potter</title> <author>J.K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="Web"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> """ # 用正则表达式提取 title 和 author 标签的内容 title_pattern = re.compile(r'<title>(.*?)</title>') author_pattern = re.compile(r'<author>(.*?)</author>') title_matches = title_pattern.findall(xml_str) author_matches = author_pattern.findall(xml_str) for title, author in zip(title_matches, author_matches): print(f'Title: {title}, Author: {author}')
输出结果如下:
Title: Harry Potter, Author: J.K. Rowling Title: Learning XML, Author: Erik T. Ray
在上面的示例代码中,我们使用 re.compile() 函数创建了两个正则表达式模式,一个用于匹配
需要注意的是,正则表达式只适用于简单的 XML 文档和嵌套层次不深的情况。对于复杂的 XML 文档和深层次的嵌套,建议使用专门的 XML 解析库,例如 Python 自带的 xml.etree.ElementTree 模块或第三方库 lxml。
相关文章