1
我有任务计划程序xml文件,我正在尝试编辑。xmlstarlet通过批处理文件更新不更新/正在工作
<?xml version="1.0" encoding="UTF-16"?>
<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task" version="1.4">
<RegistrationInfo>
<Date>2017-03-12T16:40:52.4111579</Date>
<Author>Kevin</Author>
<Description>Runs Batch File For Counter</Description>
<URI>THETASKTITLEGOESHERE</URI>
</RegistrationInfo>
<Actions Context="Author">
<Exec>
<Command>"ACTIONGOESHERE"</Command>
</Exec>
</Actions>
</Task>
这是我在批处理文件中。
@echo off
pushd %~dp0
xml ed -inplace -r "/Task/RegistrationInfo/Author" -v CGL XMLTEST1.xml
xml ed -inplace -r "/Task/RegistrationInfo/URI" -v CGL-FakeTitle XMLTEST1.xml
xml ed -inplace -r "/Task/Actions/Exec/Command" -v "C:\Batch\Counter.bat" XMLTEST1.xml
pause
我试过这里的建议; xmlstarlet update value nothing happens
在末尾添加“> XMLTEST1output.xml”导致一个空文件。 任何建议都会有帮助。谢谢!
选项'-inplace'做了什么? – Cyrus
某些'xmlstartlet's有一个'--inplace'选项,它保存对原始文件的更改。但是这并不能解释为什么(例如)在我的测试中'.../URI'值不会改变为CGL-FakeTitle。这些都不是用'-r'或'-u'工作的?任何人都会在“我们”的思想中发现错误?谢谢,祝大家好运。 – shellter
并参阅我对上述链接的评论。不要使用'xml ... file.xml> file.xml'! – shellter