Oto adres URL źródła xml:
Próbuję pobrać wszystkie elementy RichText za pomocą względnej lokalizacji xpath, a następnie wydrukować atrybut elementID, ale nic nie wyprowadza.
<?php
$url = "FXG";
$xml = simplexml_load_file($url);
//print_r($xml);
$textNode = $xml->xpath("//RichText");
$count = count($textNode);
$i = 0;
while($i < $count)
{
echo "<h1>".$textNode[$i]["s7:elementID"]."</h1>";
$i++;
}
?>
Odpowiedzi:
1 dla odpowiedzi № 1Musisz zarejestrować przestrzenie nazw ustawione w pliku XML
$url = "http://testvipd7.scene7.com/is/agm/papermusepress/HOL_12_F_green?&fmt=fxgraw";
$xml = simplexml_load_file($url);
$xml->registerXPathNamespace("default", "http://ns.adobe.com/fxg/2008");
$xml->registerXPathNamespace("s7", "http://ns.adobe.com/S7FXG/2008");
$textNode = $xml->xpath("//default:RichText/@s7:elementID");
foreach($textNode as $node) {
echo "<h1>".$node[elementID]."</h1>";
}
Mam nadzieję, że to pomoże.
0 dla odpowiedzi nr 2
Dziwne. To jednak działa.
$textNode = $xml->xpath("//*[name() = "RichText"]");