linux下批量修改xml文件内容
大家好:
好久不上CSDN了,上来就问问题,实在不好意思。但也不得不问。
我的问题是: 在linux下有多个xml文件,里面有相同的登录信息(如:连接数据库IP 用户名等),修改起来非常的不方便。我想将那些通用的信息再写一个ini文件,然后用脚本调用。不知如何实现。请大家指定下:
举例 :
xml文件中
<IP>0.0.0.0</IP>
ini文件
IP=1.1.1.1
现在要读取ini文件中字段,来修改xml字段。
请大家说下使用什么脚本,具体用的什么,谢谢。
------解决方案--------------------xml不是有现成的解析器么
也很方便的
------解决方案--------------------js脚本解析xml就比较好
------解决方案--------------------TiXml使用详解
http://blog.csdn.net/appletreesujie/archive/2009/05/21/4207435.aspx
很简单的,你读到ini文件中的"ip"等字段后,保存在一个vector里,然后再通过上边的网站介绍的方法读取
xml里的数据,把vector里的数据替换掉就可以了,即:
get,然后再set。
------解决方案--------------------可以用正则表达式来作替换
sed 或 awk
------解决方案--------------------
Perl code
[root@martin tmp]# cat ini
IP=1.1.1.1
PORT=5000
[root@martin tmp]# cat xml
<IP>1.1.1.1</IP>
<PORT>5000</PORT>
[root@martin tmp]# cat t.sh
. ./ini
sed -i "s/\(<IP>\).*\(<\/IP>\)/\1$IP\2/" xml
sed -i "s/\(<PORT>\).*\(<\/PORT>\)/\1$PORT\2/" xml
------解决方案--------------------
据说sed和awk都可以很容易实现