lxml库常用函数Demo

from lxml import etree
解析XML文件
tree = etree.parse('example.xml')
root = tree.getroot()
遍历根节点的子元素
for element in root:
    print(f"Element tag: {element.tag}, Element text: {element.text}")
使用XPath表达式查找元素
element = root.find(".//subelement")
if element is not None:
    print(f"Found element: {element.tag}, Element text: {element.text}")
获取元素的属性
element = root.find("element1")
if element is not None:
    attribute_value = element.get("attribute_name")
    print(f"Attribute value: {attribute_value}")
修改元素的文本内容
element = root.find("element1")
if element is not None:
    element.text = "New text"
    #把修改后的内容写回原文件
    #tree.write('output.xml', pretty_print=True, encoding='utf-8')
添加新元素
new_element = etree.Element("new_element")
new_element.text = "New element text"
root.append(new_element)
删除元素
element_to_delete = root.find("element_to_delete")
if element_to_delete is not None:
    root.remove(element_to_delete)
将Element对象转换为XML字符串
xml_string = etree.tostring(root, pretty_print=True, encoding='utf-8')
保存为XML文件
with open('output.xml', 'wb') as f:
    f.write(xml_string)
创建一个 XML 字符串
xml_data = """
<root>
    <book>
        <title>Python Programming</title>
        <author>John Doe</author>
        <price>29.99</price>
    </book>
    <book>
        <title>Web Development</title>
        <author>Jane Smith</author>
        <price>19.95</price>
    </book>
</root>
"""
解析 XML 字符串
root = etree.fromstring(xml_data)
获取根元素的标签名
print("根元素标签名:", root.tag)
获取所有 book 元素
books = root.findall(".//book")
遍历所有 book 元素并输出信息
for book in books:
    title = book.find("title").text
    author = book.find("author").text
    price = book.find("price").text
    print("书名:", title)
    print("作者:", author)
    print("价格:", price)
    print()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值