我有一个像这样的test.xml文档:
<?xml version="1.0" encoding="UTF-8"?>
<flashget>
<Downloads>
<Item1>
<URL>http://host.com/test.zip</URL>
<ParentDir>1</ParentDir>
<Name>test.zip</Name>
<Referer>http://host.com/myfiles</Referer>
<SendReferrer>0</SendReferrer>
<MaxSegments>15</MaxSegments>
<Attempts>25163</Attempts>
<URL>http://host2.com/test2.zip</URL>
<ElapsedTm>1073426633</ElapsedTm>
<FileDate>0</FileDate>
<Resumable>1</Resumable>
<Browser>1766278484</Browser>
<SaveRedirURL>0</SaveRedirURL>
<PreserveFileDate>0</PreserveFileDate>
<ApplySizeRules>0</ApplySizeRules>
我需要将分配给变量$L1
的文本字符串替换为在.xml文档中分配给$R1
变量的文本字符串。
显示分配给变量的文本字符串:(分配给变量的文本字符串经常更改,这就是我使用它的原因)
echo
%L1% http://host.com/test.zip
echo
%R1% http://download.com/book.zip
所以新的output.xml应该是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<flashget>
<Downloads>
<Item1>
<URL>http://download.com/book.zip</URL>
<ParentDir>1</ParentDir>
<Name>test.zip</Name>
<Referer>http://host.com/myfiles</Referer>
<SendReferrer>0</SendReferrer>
<MaxSegments>15</MaxSegments>
<Attempts>25163</Attempts>
<URL>http://host2.com/test2.zip</URL>
<ElapsedTm>1073426633</ElapsedTm>
<FileDate>0</FileDate>
<Resumable>1</Resumable>
<Browser>1766278484</Browser>
<SaveRedirURL>0</SaveRedirURL>
<PreserveFileDate>0</PreserveFileDate>
<ApplySizeRules>0</ApplySizeRules>
我正在使用XMLSearchAndReplace。
我自己的代码无效:
XmlSearchAndReplace.exe /O=en /S=%L1% /R=%R1% /F=d:\test.xml
答案 0 :(得分:0)
/O=en
搜索元素名称,但您想搜索该值,因此需要使用/O=ev
。您可以将变量放在一个文件中,然后使用以下命令调用它:
XmlSearchAndReplace.exe /O=ev /F=d:\test.xml /P=d:\your_parameter_file.txt
在your_parameter_file.txt
/S="http://host.com/test.zip" /R="http://download.com/book.zip"
您可以根据需要更改your_parameter_file.txt
中的网址。
要在没有参数文件的情况下运行它,请调用
XmlSearchAndReplace.exe /O=ev /S=http://host.com/test.zip /R=http://download.com/book.zip /F=d:\test.xml