替换XML里面的特定节点
2010-07-14 14:39
260 查看
方法一:python脚本
http://www.python.org/ftp/python/2.7/
1、tar zxvf Python-2.7.tar
2、cd Python-2.7
3、./config
4、make
5、make install
代码
import xml.etree.ElementTree as ET
import os
import sys
def update_file(input, output):
tree = ET.parse(input)
doc = tree.getroot()
acls = doc.findall('.//acl')
for acl in acls:
if (cmp(acl.attrib.get('user'), 'scm_controller') == 0):
acl.clear()
acl.set('user', 'scm_controller')
a = ET.Element('modified_by')
a.text = 'hua'
acl.append(a)
a = ET.Element('modified_date')
a.text = '2010.07.13.12.12.18'
acl.append(a)
a = ET.Element('all')
acl.append(a)
tree.write(output, "UTF-8", True)
def update_dir(path):
print "processing %s" % path
items = os.listdir(path)
for item in items:
name = os.path.join(path, item)
if (os.path.isdir(name)):
update_dir(os.path.join(name))
elif (os.path.isfile(name) and cmp(item, 'fileattr.xml') == 0):
update_file(name, name)
def main(argv):
update_dir(argv[1])
main(sys.argv)
方法二:UE
<acl user="swordbuilder">(.*\n)*.*</acl>
方法三:shell脚本
find -name 'fileattr.xml' | xargs perl -pi -e 's|<acl user="swordbuilder">(.*\n)*.*</acl>|<acl user="swordbuilder"><all /></acl>|g'
http://www.python.org/ftp/python/2.7/
1、tar zxvf Python-2.7.tar
2、cd Python-2.7
3、./config
4、make
5、make install
代码
import xml.etree.ElementTree as ET
import os
import sys
def update_file(input, output):
tree = ET.parse(input)
doc = tree.getroot()
acls = doc.findall('.//acl')
for acl in acls:
if (cmp(acl.attrib.get('user'), 'scm_controller') == 0):
acl.clear()
acl.set('user', 'scm_controller')
a = ET.Element('modified_by')
a.text = 'hua'
acl.append(a)
a = ET.Element('modified_date')
a.text = '2010.07.13.12.12.18'
acl.append(a)
a = ET.Element('all')
acl.append(a)
tree.write(output, "UTF-8", True)
def update_dir(path):
print "processing %s" % path
items = os.listdir(path)
for item in items:
name = os.path.join(path, item)
if (os.path.isdir(name)):
update_dir(os.path.join(name))
elif (os.path.isfile(name) and cmp(item, 'fileattr.xml') == 0):
update_file(name, name)
def main(argv):
update_dir(argv[1])
main(sys.argv)
方法二:UE
<acl user="swordbuilder">(.*\n)*.*</acl>
方法三:shell脚本
find -name 'fileattr.xml' | xargs perl -pi -e 's|<acl user="swordbuilder">(.*\n)*.*</acl>|<acl user="swordbuilder"><all /></acl>|g'
相关文章推荐
- xml中如何读取一个子节点有特定值的节点
- xml同类节点信息替换
- c#读取xml中特定节点的值(实例)
- C# 读取xml中特定节点的属性值 xmldocument方式 【有些乱,但有思路】
- dom4j 替换xml 节点元素
- 用dom解读xml的时候,如果碰到有命名空间的时候(就是节点名字有:的时候)需要把xml文件中的那个命名空间地址和名字拿出来加到XmlNamespaceManager 里面去
- 将一个目录下所有指定文件里面的特定字符串替换
- xStream完美转换XML、JSON xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介
- Java+通过XPath获取XML文件中符合特定条件的节点
- C#之Xml文件特定节点的读取
- php xml 删除节点 替换节点 修改节点
- Xml 搜索innerText或者某属性值为特定值的节点
- 删除和修改(替换)XML节点
- C#读取xml特定节点实例
- oracle 替换clob里面的某个特定的字符串
- 创建新节点,删除节点,替换节点,特定节点前插入节点,特定节点后插入节点
- C# 读取xml中特定节点的属性值 xmldocument方式
- 将一个目录下所有指定文件里面的特定字符串替换
- 替换目录下符合要求的文件里面的特定字符串
- 如何使用Google APIs和Google应用系统集成(7)----在里面JSON兑换XML数据处理,JSON数据包括违规XML数据规范:XML节点名称不支持号码Java解