in reply to Add New Attribute to XML
The license for this code requires that you recycle and are kind to strangers.
use strict; use warnings; use XML::LibXML; my $doc = XML::LibXML->new->parse_fh(\*DATA); # Your real file: # my $doc = XML::LibXML->new->parse_file('/sand/devel/sthapa/tmp/as.xc +f-dist'); for my $rsc ( $doc->getDocumentElement->findnodes("//RESOURCE") ) { unless ( $rsc->hasAttribute("Id") ) { $rsc->setAttribute("Id", "AUTO-ID"); } } print $doc->serialize(1); # Or to a file- # $doc->toFile($filename); __DATA__ <?xml version="1.0"?> <CONFIGURATION> <APPLICATION_SERVER> <RESOURCE_LIST> <PLATFORM_INDEPENDENT> <RESOURCE Id="res.wacgen" Source="INTERNAL">$(res.appl)</RESOUR +CE> <RESOURCE Id="res.wacgenlib" Source="INTERNAL">$(res.appl)$(res +.slash)all.4gm</RESOURCE> <RESOURCE Id="res.waclibext" Source="INTERNAL">4gs</RESOURCE> <RESOURCE Id="res.fcode" Source="INTERNAL">rt.2.10.01-1138</RES +OURCE> <RESOURCE Id="res.frunext" Source="INTERNAL">ifx</RESOURCE> <RESOURCE Id="res.db_type" Source="INTERNAL">msv</RESOURCE> <RESOURCE Source="INTERNAL">OH HAI, I CAN HAZ ID?</RESOURCE> </PLATFORM_INDEPENDENT> </RESOURCE_LIST> </APPLICATION_SERVER> </CONFIGURATION>
|
|---|