处理xml文件的两个老工具 notepad++ 和 perl

最近需要程序处理xml文件,根据条件修改相应的节点/元素。选用了脚本语言perl和xml 编辑工具Notepad++。

1. Perl 部分:

使用模块: XML::LibXML;

  • 节点替换
  foreach  $theFind ( $theDom->findnodes($theCond)){
    my $dom1 = XML::LibXML->load_xml(string=>$theRepl);
    my $theR = $dom1->documentElement();
    $ts = $theFind->replaceNode($theR);
  }
  • 节点插入
 foreach my $theFind ( $theDom->findnodes($theCond)){
    my $dom1 = XML::LibXML->load_xml(string=>$theInsert);
    my $theR = $dom1->documentElement();
    my $cloneNode= $theFind->cloneNode(1);
    $theR->appendChild($cloneNode);
    $ts= $theFind->replaceNode($theR);
  }

2.Notepad++

在XML中定位节点/元素,需要编写 xpath, Notepad++ 有一个插件 xml tools 可以满足关键功能 XPath Expression Evaluation . 可以给出查询结果,美中不足,不能在编辑器中高亮显示,略有不便。

/module/composite-view[@id="2"]/window[@id="0"]/view/config/property/context-rv[@input-key="selectedTitle"]

发现一个非常好的XPath 特此留下链以备参考: 点击打开链接

ALT+0 折叠XML, 这个很实用。

最后,说点体会,成熟的工具往往容易获得更多帮助,我遇到的问题别人已遇到很多次了。Perl语言的表达能力的确非常强大。

需要功能更强大的开源的xml编辑工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值