Skip to main content
 首页 » 编程设计

xml之Shell:从 XML 文件中提取特定 block

2023年11月22日59虾米哥

我有一个 xml 文件,其中的相同标签连续多次出现。我只需要将那组标签提取为数组。

xml 文件如下所示:

... 
<otherTags> 
<myTag> 
  <abc/> 
</myTag> 
<myTag> 
  <abc/> 
</myTag> 
<myTag> 
  <abc/> 
</myTag> 
<otherTags> 
... 

我的输出应该是这样的:

<myTag> 
  <abc/> 
</myTag> 
 
<myTag> 
  <abc/> 
</myTag> 
 
<myTag> 
  <abc/> 
</myTag> 

请您参考如下方法:

如果格式这么简单,就用

$ awk '/<myTag>/,/<\/myTag>/' inputfile 
<myTag> 
  <abc/> 
</myTag> 
<myTag> 
  <abc/> 
</myTag> 
<myTag> 
  <abc/> 
</myTag> 

但是有些工具是为解析复杂的 XML 文件而设计的,如果它变得更复杂,您应该使用它们。一个叫xml-grep .您可能还想熟悉 XPath technology .