Xmlstarlet无法保留原始格式(窗口)

时间:2014-02-12 19:28:02

标签: xmlstarlet

我有一个xml文档,我正在使用xmlstarlet进行编辑,如果后代标记包含匹配的文本,则删除周围的C标记。

示例xml文件:

<a>
    <b>
         <c><d>RED</d></c>
         <c><d>BLUE</d></c>
    </b>
</a>

使用xpath语法:

//d[text()='RED']/ancestor::c[1]

我可以使用xmlstarlet参数删除最近的带有带有“RED”文本的d标签的c标签:

xml ed -P -O --inplace --delete //d[text()='RED']/ancestor::c[1]

问题是原始格式不会被保留,因为'P'开关应该确保,输出文件缺少换行符,看起来像:

<a>        <b>                       <c><d>BLUE</d></c>        </b></a>

请注意,我一直在使用记事本检查编辑前后的格式。有关如何让xmlstarlet保留原始格式的任何建议将不胜感激。

0 个答案:

没有答案