Xml
如何在不通過 xmlstarlet 遍歷的情況下提取特定節點值
<xml> <email>asdadw@cutshort.io</email> <email>sadfasd@cutshort.io</email> <email>asdas@cutshort.io</email> <host> <ip>56.456.155.423, 54.455.155.654, 544.47.745.80, 54.192.155.842</ip> <hostname>abc.cutshort.io</hostname> </host> <host>cdn.cutshort.io</host> <host> <ip>56.456.155.423, 54.455.155.654, 544.47.745.80, 54.192.155.842</ip> <hostname>abc.cutshort.io</hostname> </host> <host>www.cutshort.io</host> <host>blogdata.cutshort.io</host> <host>cdn.cutshort.io</host> </xml>
我想提取“host”的值而不提取“hostname”或“ip”的值。輸出應該如下所示:
cdn.cutshort.io www.cutshort.io blogdata.cutshort.io cdn.cutshort.io
我最近才開始 xml 解析所以請耐心等待。任何幫助將不勝感激!
您可以列印
host
沒有hostname
屬性的 XPATH 的值:$ xmlstarlet sel -t -v '//host[not(hostname)]' -n file.xml cdn.cutshort.io www.cutshort.io blogdata.cutshort.io cdn.cutshort.io
(
//host[not(ip)]
在這裡也會做得很好)。