I'm having trouble getting the following information from this XML:
  <apcm:Property Name="EntitlementMatch" Id="urn:publicid:ap.org:product:41664" Value="AP Top News" />  <apcm:Property Name="EntitlementMatch" Id="urn:publicid:ap.org:product:42430" Value="AP Top News - International - Stories" />  <apcm:Property Name="EntitlementMatch" Id="urn:publicid:ap.org:package:100518" Value="AP Top News Package" />      Specifically, I need the "ID" and "Value" fields.
Here's the main parts of the XML:
  <?xml version="1.0" encoding="utf-8" ?>  <feed xmlns="http://www.w3.org/2005/Atom" xmlns:apcm="http://ap.org/schemas/03/2005/apcm" xmlns:apnm="http://ap.org/schemas/03/2005/apnm" xmlns:georss="http://www.georss.org/georss" xmlns:o="http://w3.org/ns/odrl/2/">  ...  <entry xmlns="http://www.w3.org/2005/Atom">  ...  <apcm:Property Name="EntitlementMatch" Id="urn:publicid:ap.org:product:41664" Value="AP Top News" />  <apcm:Property Name="EntitlementMatch" Id="urn:publicid:ap.org:product:42430" Value="AP Top News - International - Stories" />  <apcm:Property Name="EntitlementMatch" Id="urn:publicid:ap.org:package:100518" Value="AP Top News Package" />  ...  </entry>  </feed>      I have been looking at the following SO posts to try to figure it out, and this one is the most helpful so far: Identical nested XML elements with namespaces and PHP
And here's the code that I'm playing with:
      $ns_dc = $feed_entry->children($ns['apcm']);      echo "APCM children: " . count($ns_dc) . "<br />";        $inner_ns_dc = $feed_entry->children($ns_dc["apcm:Property"]);      echo "APCM Property Children: " . count($inner_ns_dc) . "<br />";        //$sxe = new SimpleXMLElement($feed_entry);        $sxe = new SimpleXMLElement($feed_entry->asXML());        foreach($sxe->apcm as $item) {          printf("%s\n", $item);      }      $sxe->registerXPathNamespace('apcm', 'http://ap.org/schemas/03/2005/apcm');      $result = $sxe->xpath('/apcm:Property:*');        echo "Result count: " . count($result) . "<br />";        foreach ($result as $sequenceNumber) {        echo $sequenceNumber . "<br />";      }      
No comments:
Post a Comment