Как я могу получить значение атрибута, называемого xlink: href из xml node, используя php

Я просто не могу сделать это, не знаю сыворотки. Как получить значение атрибута xlink: href из xml node с помощью php. Пожалуйста, пожалуйста, кто-то просто подтолкнет меня. я новичок в php

Это XML-документ

<!--?xml version="1.0" encoding="UTF-8"?-->
<topicmap id="1HLCM3FXT-28MTV0W-50" xmlns="http://www.topicmaps.org/xtm/1.0/" xmlns:xlink="http://www.w3.org/1999/xlink">
 <topic id="1HLCM7CDQ-21WQN9G-66">
 <instanceof>
 <subjectindicatorref xlink:type="simple" xlink:href="http://cmap.coginst.uwf.edu/#concept">
 </subjectindicatorref></instanceof>
 <basename>
 
 </basename>
 <occurrence>
 <resourceref xlink:type="simple" xlink:href="file:/./Birds_concept - about birds/feathers.txt">
 </resourceref></occurrence>
 </topic>
</topicmap>
1 ответ

Используйте DOM и одну из функций * NS, как getAttributeNS:

$doc = new DOMDocument();
$doc->loadXML($your_xml_string);
$resource_refs = $doc->getElementsByTagName('resourceRef');
foreach($resource_refs as $rr)
 print_r( $rr->getAttributeNS('http://www.w3.org/1999/xlink', 'href') );

(Это непроверенный код; print_r может работать не так, как ожидалось. getAttributeNS возвращает node list, каждый элемент в node будет атрибут. В документации на странице getAttributeNS есть еще один пример.)

licensed under cc by-sa 3.0 with attribution.