我正在尝试使用xmlstarlet在xml文件中编辑元素的值,但编辑没有任何作用。 没有错误显示,也没有任何成功的消息。
我已经使用在线xpathtesting程序testing了我的xpath查询。
这是我的xml文件:
<workflow scriptid="customworkflow_sktest01"> <runasadmin>F</runasadmin> <workflowstates> <workflowstate scriptid="workflowstate15154"> <description></description> <workflowactions triggertype="ONENTRY"> <setfieldvalueaction scriptid="workflowaction88038"> <valuejoinfield></valuejoinfield> <valueselect>24506</valueselect> <valuetext></valuetext> </setfieldvalueaction> </workflowactions> </workflowstate> </workflowstates> </workflow>
这是我用xmlstarlet命令:
C:\...\xmlstarlet-1.6.1-win32\xmlstarlet-1.6.1>xml edit -P --update "/workflow/workflowstates/workflowstate/workflowactions/setfieldvalueaction[@scriptid="workflowaction88038"]/valueselect" -v 1234 "C:\...\customworkflow_sktest01.xml"
当我运行该命令xmlstarlet只是回声未修改的源xml。
解决scheme更新
以下是工作命令:
C:\...\xmlstarlet-1.6.1-win32\xmlstarlet-1.6.1>xml edit -P --update "/workflow/workflowstates/workflowstate/workflowactions/setfieldvalueaction[@scriptid='workflowaction88038']/valueselect" -v 1234 "C:\...\customworkflow_sktest01.xml"
我建议更换
"workflowaction88038"
通过
'workflowaction88038'