2016-05-26 3 views
0

私は今、次の作業で苦労しています。 XMLStarletを使用して空のXMLエントリを削除しようとしています。XPATHとXMLStarlet

私は何をしようとすると、この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

どのようにそれが動作しませんでしたか? ... – har07

答えて

1

引用符を二重引用符で囲んでください。逆の場合も同じです。ご例えば

xmlstarlet ed -d '//*[not(./*) and (not(./text()) or normalize-space(./text())="")]' 

または

xmlstarlet ed -d "//*[not(./*) and (not(./text()) or normalize-space(./text())='')]" 
+0

こんにちは、私はそれをチェックし、期待どおりに動作します。どうもありがとう。 –