Board logo

标题: [文本处理] 批处理bat怎么修改xml文件指定节点的值啊? [打印本页]

作者: hujunyu    时间: 2014-3-7 19:41     标题: 批处理bat怎么修改xml文件指定节点的值啊?

<?xml version='1.0' encoding='utf-8'?>
<Server port="9081" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="9088" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost"/>
  </Service>
</Server>
我要修改 <Connector port="" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />这里面port的值,要怎么操作啊。。。急求!!!!
作者: DAIC    时间: 2014-3-7 19:50

你用记事本打开xml文件
文件
另存为
看看是不是UTF-8编码
作者: hujunyu    时间: 2014-3-7 19:53

格式是ANSI的,有什么问题?
作者: hujunyu    时间: 2014-3-7 19:55

回复 2# DAIC


    格式是ANSI的,有什么问题?
作者: DAIC    时间: 2014-3-7 20:02

  1. sed -i "s#<Connector port=\"\" protocol=\"HTTP/1.1\"#<Connector port=\"1234\" protocol=\"HTTP/1.1\"#" server.xml
复制代码

作者: hujunyu    时间: 2014-3-7 20:31

回复 5# DAIC


    必须借助第三方命令吗?下下来的sed是否放在bat同目录下即可?
作者: DAIC    时间: 2014-3-7 20:49

回复 6# hujunyu


    是的。试试就知道了。
作者: hujunyu    时间: 2014-3-7 20:54

回复 7# DAIC


    是整个压缩包都放到bat同目录下?还是需要解压?
作者: hujunyu    时间: 2014-3-7 21:03

回复 7# DAIC


    确实可以,,但是我想请教下,如果本来那个节点就有值,比如 port="任意数值",好像就改不了了呢?
作者: DAIC    时间: 2014-3-7 21:21

回复 9# hujunyu
  1. sed -i "s#<Connector port=\".*\" protocol=\"HTTP/1.1\"#<Connector port=\"1234\" protocol=\"HTTP/1.1\"#" server.xml
复制代码

作者: hujunyu    时间: 2014-3-7 21:27

多谢大神!!
作者: hujunyu    时间: 2014-3-7 21:55

回复 12# hujunyu


    <Resource name="jdbc/aaa" auth="Container"
                type="javax.sql.DataSource" username="sa1" password="sa1"
                driverClassName="net.sourceforge.jtds.jdbc.Driver"
                url="" maxActive="200"
                maxIdle="200" maxWait="10000" />
我要给这里面的url赋值的话,应该肿么写啊,求大神再给一段。。谢谢。
作者: DAIC    时间: 2014-3-7 22:00

回复 12# hujunyu
  1. sed -i "s#url=\".*\" maxActive=\"200\"#url=\"bbs.bathome.net\" maxActive=\"200\"#" server.xml
复制代码

作者: hujunyu    时间: 2014-3-7 22:13

回复 13# DAIC


    哦。好像这个是根据每行来操作的!如果有两行一模一样的,就会两行都修改嘎!
作者: DAIC    时间: 2014-3-7 22:15

回复 14# hujunyu


    是的,sed命令就是这样工作的。
作者: hujunyu    时间: 2014-3-7 22:31

回复 15# DAIC


    多谢!




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2