我想這樣做如何將xml傳遞給變量而不是文件中的xmllint?
xmllint --xpath "//filestodelete[filename = somename]/text()" #filestodelete#
和filestodelete是XML類型
的BPEL變量,但它不工作
如何做到這一點>?
我想這樣做如何將xml傳遞給變量而不是文件中的xmllint?
xmllint --xpath "//filestodelete[filename = somename]/text()" #filestodelete#
和filestodelete是XML類型
的BPEL變量,但它不工作
如何做到這一點>?
假設你已經把你的查詢文本在名爲query
shell變量(讓我的例子更簡潔) -
使用bash,你可以使用一個herestring:
xmllint --xpath "$query" - <<<"$filestodelete"
符合POSIX SH ,你需要使用定界符:
xmllint --xpath "$query" - <<EOF
$filestodelete
EOF
順便說一句 - 因爲xmllint
支持--xpath
不是所有的版本中,你必須是跨版本兼容tter如果使用XMLStarlet代替,這支持從初始創建如下:
xmlstarlet sel -t -m "$query" -v . <<<"$filestodelete"
你有你的XML文檔中的shell變量? – 2014-12-11 03:26:31
我在回答中假定BPEL變量作爲shell變量公開。如果這不是真的,那麼您有一個BPEL問題,而不僅僅是一個shell問題,它需要適當標記。 – 2014-12-11 03:46:41
是的,我正在使用允許在shell中使用BPEL變量的框架....這意味着filestodelete變量是xml類型的BPEL變量。但它不是系統中的文件。 – sakal 2014-12-11 13:28:04