0
네임 스페이스 속성을 포함하는 노드를 선택할 때 다른 속성을 얻으려면 어떻게해야합니까?SimpleXML : 네임 스페이스 속성을 포함하는 노드를 선택할 때 다른 속성을 얻으려면 어떻게해야합니까?
내가 xlink:href
인 SVG를 가지고 있는데, id
속성에 액세스하려고 시도하지만 xpath를 사용할 때 "속성 노드"만 반환하는 것처럼 보입니다. 실제 "요소 노드"를 얻으려면 어떻게해야합니까?
$xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8" ?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<image id="my-image" xlink:href="http://example.com/image.png" />
</svg>
');
$xml->registerXPathNamespace('svg', 'http://www.w3.org/2000/svg');
$xml->registerXPathNamespace('xlink', 'http://www.w3.org/1999/xlink');
$images = $xml->xpath('//svg:image/@xlink:href');
foreach ($images as $image) {
var_dump($image);
}
는 출력 :
object(SimpleXMLElement)#2 (1) {
["@attributes"]=>
array(1) {
["href"]=>
string(28) "http://example.com/image.png"
}
}
확인