0

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

?>
4

2 に答える 2

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

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

于 2012-06-28T16:10:26.467 に答える
0

変。ただし、これは機能します。

$textNode = $xml->xpath("//*[name() = 'RichText']");
于 2012-06-28T16:12:09.890 に答える