You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用xmllint从XML中读取指定数组的元素值

解决Jetty XML配置中提取指定Array下Item值的问题

正确的xmllint命令

要提取id="includedCipherSuites"的Array节点下所有Item元素的值,直接使用以下xpath表达式即可:

xmllint --xpath '//Configure/Array[@id="includedCipherSuites"]/Item/text()' jetty.xml

执行后会按行输出每个Item的文本内容:

TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

如果需要将结果转为逗号分隔的单行格式,可以结合tr和sed命令处理:

xmllint --xpath '//Configure/Array[@id="includedCipherSuites"]/Item/text()' jetty.xml | tr '\n' ',' | sed 's/,$//'

执行结果与你期望的一致:

TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

关于你之前遇到的索引问题

你用//Configure/Array[0]/@id返回空结果,是因为XPath的节点索引从1开始计数,而非0。第一个Array节点对应//Configure/Array[1]/@id,也就是includedCipherSuites;第二个Array节点才是Array[2],对应includedProtocols。

内容的提问来源于stack exchange,提问作者Blue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:13:33