Есть обычный primary.xml вида
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" packages="43">
<package type="rpm">
<name>perf</name>
<arch>x86_64</arch>
.....
<format>
<rpm:license>GPLv2</rpm:license>
<rpm:vendor>Red Hat, Inc.</rpm:vendor>
.....
<rpm:provides>
<rpm:entry name="perl(Perf::Trace::Context)" flags="EQ" epoch="0" ver="0.01"/>
<rpm:entry name="perl(Perf::Trace::Core)" flags="EQ" epoch="0" ver="0.01"/>
</rpm:provides>
</format>
Нужно с него на php выдрать содержимое <rpm:entry>. Если взять
foreach ($primary_xml as $entry) {
$ns = $entry->format->getNameSpaces(true);
$rpm = $entry->format->children($ns['rpm']);
}
[license] => GPLv2
[header-range] => SimpleXMLElement Object
(
)
[provides] => SimpleXMLElement Object
(
[entry] => Array
(
[0] => SimpleXMLElement Object
(
)
[1] => SimpleXMLElement Object
(
)
Как правильно получить аттрибуты из <rpm:entry>?