从XML的多个相似标签中获取特定标签

问题描述 投票:0回答:1

我有一个XML格式的文件:

<classes>

 <subject>
  <name>Operating System</name>
  <credit>3</credit>
  <type>Theory</type>
  <faculty>Prof. XYZ</faculty> 
 </subject>

 <subject>
  <name>Web Development</name>
  <credit>3</credit>
  <type>Lab</type>
 </subject>

</classes>

我只想得到那些'type'='Theory'使用Shell脚本的类的结果。

我尝试使用:

awk -F'[<>]' '/<name>|<credit>|<type>|<faculty>/{print $3}' file.xml

但是此命令返回xml标记的每个字段。

Operating System
3
Theory
Prof. XYZ
Web Development
3
Lab

如果存在多个标签,则寻找仅获取特定标签值的解决方案。

TIA。

xml shell awk xmlstarlet
1个回答
1
投票

[能否请您尝试遵循,我不是xamlstarlet的专家,请在这里尝试。

© www.soinside.com 2019 - 2024. All rights reserved.