Python如何实现lxml读取、更新、写入标签值操作,pythonlxml,
<?xml version="1.0" encoding="UTF-8"?><urlset><url><lastmod>2014-08-26</lastmod><changefreq>always</changefreq><priority>1.0</priority><data><display><name>zhongguo</name><address>zhongguo</address><search>http://www.sohu.com</search></display></data></url><url><lastmod>2014-08-26</lastmod><changefreq>always</changefreq><priority>1.0</priority><data><display><name>中国</name><address>中国</address><search>http://www.abc.com</search></display></data></url></urlset>

我现在的需求是想将中的网址改成另一个网址并写入,比如将第一条url结果的”http://www.sohu.com“改成“http://www.sina.com”并写入xml文件中。请问该如何操作?

lxml里面Element对象有个find的方法,先找到对应的path,然后修改就好了

# -*- coding: utf-8 -*- from lxml import etreexml_string = u"""<?xml version="1.0" encoding="UTF-8"?><urlset><url><lastmod>2014-08-26</lastmod><changefreq>always</changefreq><priority>1.0</priority><data><display><name>zhongguo</name><address>zhongguo</address><search>http://www.sohu.com</search></display></data></url><url><lastmod>2014-08-26</lastmod><changefreq>always</changefreq><priority>1.0</priority><data><display><name>中国</name><address>中国</address><search>http://www.abc.com</search></display></data></url></urlset>"""root = etree.fromstring(xml_string)for url in root:    url_tag = url.find("data/display/search")    if url_tag.text == "http://www.sohu.com":        url_tag.text = "http://www.sina.com"print etree.tostring(root)

编橙之家文章,

评论关闭