/ / xpath nie będzie pobierał elementów - php, xml, xpath

xpath nie będzie pobierał elementów - php, xml, xpath

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 № 1

Musisz 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"]");