gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 04:52:49 27 4
gpt4 key购买 nike

我想做这个

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

filestodelete 是 XML 类型的 BPEL 变量

但是不起作用

如何做到这一点>??

最佳答案

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

使用 bash,您可以使用此处的字符串:

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

使用 POSIX sh,您需要使用定界符:

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

顺便说一句 - 由于并非所有版本的 xmllint 都支持 --xpath,因此如果您使用 XMLStarlet,则跨版本的兼容性会更好。相反,它从最初创建时就支持以下功能:

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

关于shell - 如何在变量而不是文件中将 xml 传递给 xmllint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27414861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com