Structure of my XML file is like this
CODE
<CONFIGURATION
<APPLICATION_SERVER>
<RESOURCE_LIST>
<PLATFORM_INDEPENDENT>
<RESOURCE Id="res.wacgen" Source="INTERNAL">$(res.appl)</RESOURCE>
<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</RESOURCE>
<RESOURCE Id="res.frunext" Source="INTERNAL">ifx</RESOURCE>
<RESOURCE Id="res.db_type" Source="INTERNAL">msv</RESOURCE>
</PLATFORM_INDEPENDENT>
</RESOURCE_LIST>
</APPLICATION_SERVER>
</CONFIGURATION
And i am trying to check each attribute like this,
CODE
my $source = '/sand/devel/sthapa/tmp/as.xcf-dist';
my $Tag_Resource ='/CONFIGURATION/APPLICATION_SERVER/RESOURCE_LIST/';
my $Tag_Resource_PI=$Tag_Resource.'PLATFORM_INDEPENDENT/RESOURCE';
my $Tag_wnt=$Tag_Resource.'WNT/RESOURCE';
my $os_res_group;
my $parser=new XML::XPath->new(filename => $source);
$parser or die "Unable to parse sourse file: $source\n";
my $Set_Resource = $parser->find($Tag_Resource_PI);
foreach my $resource ($Set_Resource->get_nodelist)
{
my $attribute=$resource->getAttribute('Id');
my $child_node = $resource->getChildNodes();
if (exists $$HRR_resource{$attribute})
{
print "Attribute exists: $attribute";
}
else
{
#Add attribute to XML
}
So I am trying to add all the attribute whichever does not exists in hash to XML using XML::XPath,
but I am not being able to do that,
any one have any suggestion???