/ / xpathは要素を取得しません-php、xml、xpath

xpathは要素を検索しません - php、xml、xpath

xmlソースのURLは次のとおりです。

xpathの相対位置を使用してすべてのRichText要素を取得し、elementID属性を出力しようとしています。しかし、何も出力していません。

<?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++;
}

?>

回答:

回答№1は1

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>";
}

私はこれが役立つことを願っています


回答№2の場合は0

奇妙な。ただし、これは機能します。

$textNode = $xml->xpath("//*[name() = "RichText"]");