删除不包含任何数据的 xml 标签

删除不包含任何数据的 xml 标签

我有一个非常大的 xml 文件,我需要删除没有任何数据的标签。

       NameFree>Linjamäki, Anna Maria</NameFree> -->should not bee deleted

       NameFree></NameFree>  --> should be deleted

非常感激

新手

答案1

您可以使用查找和替换工具来执行此操作:

例子

  • 打开搜索并替换为Ctrl+H

  • 将搜索模式设置为正则表达式

  • <(\w+)>(<\/?\w+>)*<\/\1>find what字段中输入

  • 保留replace with字段为空

  • 点击replace all

这只会删除空的 XML 标签,仅此而已。

输出:

<NameFree>Linjamäki, Anna Maria</NameFree> -->should not bee deleted

  --> should be deleted

答案2

  • Ctrl+H
  • 找什么:\s*<(\w+).*?>\s*</\1>
  • 用。。。来代替:LEAVE EMPTY
  • 查看 相符
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

解释:

\s*         # 0 or more spaces
<           # literally <
(\w+)       # group 1, 1 or more word character, tagname
.*?         # 0 or more any character, not greedy, optional attributes
>           # literally >
\s*         # 0 or more spaces
</          # literally </
\1          # back reference to group 1, the tagname
>           # literally >

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容