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
[解决办法]
[root@martin tmp]# cat ini IP=1.1.1.1PORT=5000[root@martin tmp]# cat xml <IP>1.1.1.1</IP><PORT>5000</PORT>[root@martin tmp]# cat t.sh . ./inised -i "s/\(<IP>\).*\(<\/IP>\)/\1$IP\2/" xmlsed -i "s/\(<PORT>\).*\(<\/PORT>\)/\1$PORT\2/" xml
[解决办法]
据说sed和awk都可以很容易实现