use XML::Simple;
use strict;
my $config = XMLin('some.xhtml');
processhash($config,'$config');
sub processhash()
{
my ($href, $path, @junk) = @_;
my %configr = %$href;
foreach my $k (keys %configr) {
print qq|$path :: $k = $configr{$k}\n|;
if ($configr{$k} =~ m/HASH/i) //if it is another hash, iterate through that hash also
{
processhash($configr{$k},qq|$path -> {'$k'}|);
}
}
}
####
$config -> {'hx:scriptCollector'} -> {'f:loadBundle'} -> {'bundle_id'} :: basename = somebasename
####
####
$config -> {'hx:scriptCollector'} -> {'h:form'} :: h:panelGrid = HASH(0x1e54150)
####
$config -> {'hx:scriptCollector'} -> {'h:form'} -> {'h:panelGrid'} -> {'hruleDots1_panel_id'} :: width = 100%
$config -> {'hx:scriptCollector'} -> {'h:form'} -> {'h:panelGrid'} -> {'hruleDots1_panel_id'} :: columnClasses = hruleDots
$config -> {'hx:scriptCollector'} -> {'h:form'} -> {'h:panelGrid'} -> {'hruleDots1_panel_id'} :: cellspacing = 0
####
####
{'h:outputText'} :: AdjustCCDetails_ReasonCode_table_required_id = HASH(0x1e5400c)
{'h:outputText'} -> {'AdjustCCDetails_ReasonCode_table_required_id'} :: value = *
{'h:outputText'} -> {'AdjustCCDetails_ReasonCode_table_required_id'} :: styleClass = required
####
##
{'h:panelGrid'} :: h:outputText = HASH(0x1e16050)
{'h:panelGrid'} -> {'h:outputText'} :: value = #{somevalue}
{'h:panelGrid'} -> {'h:outputText'} :: id = AdjustCCDetails_Comment_table_id
{'h:panelGrid'} -> {'h:outputText'} :: styleClass = label