加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 如何在变量而不是文件中将xml传递给xmllint?

发布时间:2020-12-16 01:48:34 所属栏目:安全 来源:网络整理
导读:我想做这个 xmllint --xpath "//filestodelete[filename = somename]/text()" #filestodelete# 和filestodelete是XML类型的BPEL变量 但它不起作用 怎么做 ?? 解决方法 假设您已将查询文本放在名为query的shell变量中(以使我的示例更加简洁) – 使用bash,您可
我想做这个

xmllint --xpath "//filestodelete[filename = somename]/text()" #filestodelete#

和filestodelete是XML类型的BPEL变量

但它不起作用

怎么做> ??

解决方法

假设您已将查询文本放在名为query的shell变量中(以使我的示例更加简洁) –

使用bash,您可以使用herestring:

xmllint --xpath "$query" - <<<"$filestodelete"

使用POSIX sh,您需要使用heredoc:

xmllint --xpath "$query" - <<EOF
$filestodelete
EOF

顺便说一下 – 因为并非所有版本的xmllint都支持–xpath,所以如果你使用了XMLStarlet,那么你可以在各版本之间获得更好的兼容性,它在初始创建时支持以下内容:

xmlstarlet sel -t -m "$query" -v . <<<"$filestodelete"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读