Jump to content

evaluating statements - xml


jonjsilver

Recommended Posts

I have 2 xml documents

 

<a>

   <lookuptag1>data</lookuptag1>

   <lookuptag2>field1</lookuptag2>

</a>

 

 

<b>

  <data>

      <field1>111</field1)

      <field2>222</field2)

  </data>

</b>

 

I can read and parse each ok,  ie:   $xml_a->lookuptag1,  $xml_b->data->field1

however, If I construct  the reference to b field1, (using the fields from a) I cannot evaluate or reference it.

even just building the reference from inline text is not working.

 

for example:

       $b = "\$xml_b->data->' . 'field1';

      echo "$b";

      echo eval($b);

      eval ( "\$f1 = \"$b\";");

      echo $$b;

    

nothing seems to work.  Any ideas what I need to do.

thanks,

jon

Link to comment
https://forums.phpfreaks.com/topic/275532-evaluating-statements-xml/
Share on other sites

Using SimpleXML I take it? Try to avoid variable variables when there are alternatives like xpath().

$tag1 = (string)$xml_a->lookuptag1;
$tag2 = (string)$xml_a->lookuptag2;

$nodes = $xml_b->xpath("/b/{$tag1}/{$tag2}");
foreach ($nodes as $node) {
echo "Found {$node}
\n";
}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.