in reply to Re^5: Xpath value query
in thread Xpath value query
So, I tried to use a variable to return the values from the XPath, and it's not liking it.. I get an invalid query error. Here is the subroutine I'm using. I must be missing something. I added a few statements to help me see what was happening. The goal is for the XPaths to come from a configuration file (as there are about a dozen, and there are other formats that will be added in the future so there may be hundreds ultimatley) rather than hard coded, but for testing and development I'm doing it this way.
$twig = XML::Twig::XPath->new(); $twig->parsefile($xmlfile); $root = $twig->root; $XPV='//Party[@id=//Relation[child::RelationRoleCode[@tc="37"]]/@Relat +edObjectID]/Producer/CarrierAppointment/CompanyProducerID'; my $retval1 = get_xpath_value($XPV); $XPV='//OLifE/Party[@id=//OLifE/Relation[RelationRoleCode@tc=8]/@Relat +edObjectID]/Person/FirstName'; my $retval2 = get_xpath_value($XPV); print "CompanyProducerID: $retval1 \nFirstName: $retval2\n"; sub get_xpath_value { my ($argvalx) = @_; print "argvalx: $argvalx\n"; my $xpath = "q!" . $argvalx . "!"; print "doing XPATH query on $xpath\n"; my @nodes = $root->findnodes($xpath); for (@nodes){ print $_->text; return $_->text; } } ./twig4.pl -xmlfile=a2b9f375-51fe-41a1-86ab-069561517890.xml argvalx: //Party[@id=//Relation[child::RelationRoleCode[@tc="37"]]/@Re +latedObjectID]/Producer/CarrierAppointment/CompanyProducerID doing XPATH query on q!//Party[@id=//Relation[child::RelationRoleCode[ +@tc="37"]]/@RelatedObjectID]/Producer/CarrierAppointment/CompanyProdu +cerID! Query: q!//Party... ^^^ Invalid query somewhere around here (I think)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^7: Xpath value query
by poj (Abbot) on Sep 18, 2015 at 18:03 UTC | |
by SDwerner (Initiate) on Sep 18, 2015 at 18:44 UTC | |
by poj (Abbot) on Sep 18, 2015 at 18:58 UTC | |
by SDwerner (Initiate) on Sep 19, 2015 at 14:11 UTC | |
by Corion (Patriarch) on Sep 19, 2015 at 14:50 UTC | |
by poj (Abbot) on Sep 19, 2015 at 15:07 UTC | |
by SDwerner (Initiate) on Sep 19, 2015 at 13:14 UTC | |
|
Re^7: Xpath value query (xpather not afraid of whitespace)
by Anonymous Monk on Sep 18, 2015 at 22:00 UTC |