首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python动态修改xml文件一次性写出的方法解决方案

2012-05-31 
python动态修改xml文件一次性写出的方法有个需求:存在一个xml文件,每次要对某些子节点或者属性值进行修改

python动态修改xml文件一次性写出的方法

有个需求:
存在一个xml文件,每次要对某些子节点或者属性值进行修改

想要实现一个脚本
xml_op.py "a|xpath of element|newvalue"
三部分,第一部分 a m d 为操作类型
第二部分为xpath解析
第三部分为新增或替换的新值

问题:
有什么方法,可以读入一个dom树在内存里,然后可以根据xpath进行动态修改,最后一步写出到一个新的xml文件?

博文链接,简单实现等都可以啊

Thx!

 

[解决办法]
beautifulSoup行不?

http://www.crummy.com/software/BeautifulSoup/bs4/doc/
[解决办法]
用libxml2最简单的例子

Python code
import libxml2 as xmldef xpathrpl(doc,xpath,newval):    ctxt = doc.xpathNewContext()    res = ctxt.xpathEval(xpath)    for x in res:        x.setProp('attr',newval)    ctxt.xpathFreeContext()if __name__ == '__main__':    str='''    <root>        <item attr="0"/>        <item attr="1"/>        <item attr="2"/>    </root>    '''    doc = xml.parseDoc(str)    xpathrpl(doc,'//item[@attr]','3')    print doc    doc.freeDoc()
[解决办法]
支持xpath的xml库都可以。

热点排行