目前,我有一个script是执行以下操作:删除节点基于子节点值
- 看起来在一个特定的文件夹
- 解压所有的* .zip文件
- 读取特定CSV file那有四列(OLDID,使用oldName,NEWID NEWNAME)
- 查找递归地在文件夹中所有* .xml文件(sample.xml)
- 循环通过* .xml文件,创建拷贝(或iginal李明博&潜在修改BAK)
- 取代OLDID,使用oldName与NEWID,NEWNAME
- 如果修改,写XML,删除原始文件,移动李明博原始。
我的问题是这样的。对于没有替换的项目(例如,line 3 of csv),我需要删除整个节点。
所以在我的XML,我有这样的:
<choice id="8" isActive="yes">
<name><![CDATA[<font color='#0000FF' ><u>Mentoring Tools</u> </font>]]></name>
<url><![CDATA[http://olc.inside.domain.com/olc/apps/pro/DeepLinking/LoadAsset.cfm?coursename=mgmt_10_a03_bs_enus]]></url>
</choice>
当我走过这一点,我会在我的current loop摸他们一行行。所以我的问题是,有没有办法设置一个分隔符来读取以替换字符串或删除所述节点?或者,因为替换工作,使用替换工具写一个空行?
所以,
<choice id="8" isActive="yes">
<name><![CDATA[<font color='#0000FF' ><u>Mentoring Tools</u> </font>]]></name>
<url><![CDATA[http://olc.inside.domain.com/olc/apps/pro/DeepLinking/LoadAsset.cfm?coursename=mgmt_10_a03_bs_enus]]></url>
</choice>
成为
<choice id="8" isActive="yes">
</choice>
如果一切正常,然后用另一个批处理删除任何空<choice>
节点?
因此,随着这个后来的思路,为什么这个变化>> "%BAKFILE%" echo.!LINE!
=>if not "%~3"=="" >> "%BAKFILE%" echo.!LINE!
不工作?
很抱歉让您困惑。这是我的问题。我有一个空节点' '我需要的是空节点被完全删除,如果这是结果输出。 –