在XML文档中替换分配给变量的两个文本字符串

时间:2014-10-29 20:13:46

标签: xml

我有一个像这样的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

1 个答案:

答案 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
相关问题