小编Abh*_*i S的帖子

提取特定 XML 元素类型的子元素

给定一个特定的 XML 元素(即特定的标记名称)和一段 XML 数据,我想从该元素的每次出现中提取子元素。更具体地说,我有以下(不太有效的)XML 数据片段:

<!-- data.xml -->

<instance ab=1 >
    <a1>aa</a1>
    <a2>aa</a2>
</instance>
<instance ab=2 >
    <b1>bb</b1>
    <b2>bb</b2>
</instance>
<instance ab=3 >
    <c1>cc</c1>
    <c2>cc</c2>
</instance>
Run Code Online (Sandbox Code Playgroud)

我想要一个脚本或命令,它将这些数据作为输入并产生以下输出:

<a1>aa</a1><a2>aa</a2>
<b1>bb</b1><b2>bb</b2>
<c1>cc</c1><c2>cc</c2>
Run Code Online (Sandbox Code Playgroud)

我希望解决方案使用标准文本处理工具,例如sedawk

我尝试使用以下sed命令,但没有奏效:

sed -n '/<Sample/,/<\/Sample/p' data.xml
Run Code Online (Sandbox Code Playgroud)

xml sed awk text-processing ctags

3
推荐指数
1
解决办法
7457
查看次数

标签 统计

awk ×1

ctags ×1

sed ×1

text-processing ×1

xml ×1