V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
aqtata
V2EX  ›  程序员

vscode 怎么删除 xml 节点但保留内容

  •  
  •   aqtata · 7 小时 52 分钟前 · 315 次点击

    比如

    <a>
      <b/>
      <c/>
    <a/>
    

    变为

    <b/>
    <c/>
    

    中间层次很深,可能近千行,把开头删了,下面就不知道删除哪个了

    9 条回复    2025-10-17 14:59:29 +08:00
    hailaz
        1
    hailaz  
       7 小时 36 分钟前
    你给的例子太普通了,完全不知道其他条件。
    最快的办法就是用 vscode 的 copilot ai ,直接让他给你改(但不一定能改对),修改前记得备份。
    更靠谱的方式是用程序解析 xml ,然后去除不需要的节点。
    zhybb2010
        2
    zhybb2010  
       7 小时 33 分钟前   ❤️ 2
    折叠,复制到外部编辑器,例如 sublime text ,删除第一行和最后一行,回去替换,然后快捷键格式化一次。
    stinkytofux
        3
    stinkytofux  
       7 小时 31 分钟前
    用正则表达式替换
    yuuluu
        4
    yuuluu  
       7 小时 31 分钟前
    用 vim, `vit` 把<a> tag 中间的内容粘出来.
    aqtata
        5
    aqtata  
    OP
       7 小时 27 分钟前
    @zhybb2010 思路清晰,可行!
    worldgg
        6
    worldgg  
       7 小时 20 分钟前
    写脚本处理最快
    chendy
        7
    chendy  
       7 小时 19 分钟前
    正则搜索 + 替换
    比如你这个例子,搜索 <a/?> 开正则,然后替换为空
    Dorathea
        8
    Dorathea  
       7 小时 15 分钟前
    在删之前记住最后一行的行号不就行了么...
    删除开始的一行, 再去删除之前记住的(n-1)行. 为什么搞这么复杂...
    hailaz
        9
    hailaz  
       7 小时 14 分钟前   ❤️ 2
    @aqtata #5 还以为你早知道有折叠功能,因为需要处理很多很多个节点才不用。
    装上对应插件,折叠删除前后行之后再展开就可以了,然后格式化一下就对齐。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2576 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:14 · PVG 22:14 · LAX 07:14 · JFK 10:14
    ♥ Do have faith in what you're doing.