gpt4 book ai didi

xml - 使用 xmlstarlet 选择多个元素

转载 作者:行者123 更新时间:2023-12-02 19:30:22 25 4
gpt4 key购买 nike

由于我在其他地方找不到解释过的例子,所以我以问答的形式分享我的发现。

考虑这个学生列表 (pupils.xml):

<pupils>
<pupil>
<firstName>Adam</firstName>
<lastName>Amith</lastName>
<birthDate>2000-01-01</birthDate>
</pupil>
<pupil>
<firstName>Berta</firstName>
<lastName>Bmith</lastName>
<birthDate>2000-01-02</birthDate>
</pupil>
<pupil>
<firstName>Caesar</firstName>
<lastName>Cmith</lastName>
<birthDate>2000-01-03</birthDate>
</pupil>
<pupil>
<firstName>Doris</firstName>
<lastName>Dmith</lastName>
<birthDate>2000-01-04</birthDate>
</pupil>
</pupils>

我怎样才能选择每个学生的两个子属性来得到这样的列表:

Adam Amith
Berta Bmith
Caesar Cmith
Doris Dmith

最佳答案

获取这个的命令是

xmlstarlet select -T -t -m "//pupil" -v "firstName" -o " " -v "lastName" -n pupils.xml

并带来:

Adam Amith
Berta Bmith
Caesar Cmith
Doris Dmith
  • -T 将输出切换为 text
  • -t -m "//pupil"-v "firstName"-o ""-v "lastName"-n 定义一个模板
    • -m "//pupil" 匹配每个pupil节点
    • -v "firstName" 打印 firstName 子节点(当前匹配节点的子节点)的值
    • -o "" 打印一个空白
    • -v "lastName"(见上文)
    • -n 打印一个换行符
  • pupils.xml 提供输入文件

The documentation提供更高级的参数。

关于xml - 使用 xmlstarlet 选择多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61911918/

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