以下是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++;
}
?>
答案 0 :(得分: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>';
}
我希望这会有所帮助。
答案 1 :(得分:0)
奇怪。然而,这有效。
$textNode = $xml->xpath("//*[name() = 'RichText']");