我现在正在努力完成以下任务。我正在尝试使用XMLStarlet删除空XML条目。
我尝试使用此XPATH:
//*[not(./*) and (not(./text()) or normalize-space(./text())='')]
我已经在http://www.freeformatter.com/xpath-tester.html上对其进行了测试,并且按预期工作。与XMLStarlet配合使用不起作用:
xmlstarlet ed -d '//*[not(./*) and (not(./text()) or normalize-space(./text())='')]'
这可能是什么原因?
答案 0 :(得分:2)
尝试在双引号中使用引号,反之亦然。
对于你的例子:
xmlstarlet ed -d '//*[not(./*) and (not(./text()) or normalize-space(./text())="")]'
或
xmlstarlet ed -d "//*[not(./*) and (not(./text()) or normalize-space(./text())='')]"