PHP从XML中选择属性

PHP从XML中选择属性,php,xml,select,Php,Xml,Select,我想从这个XML文件中提取:“ENTRY\uURL,其中TITLE=episodul1:Pilot” 但这并不符合逻辑:|这里有一个实例:您拥有的XML不仅仅是XML,它实际上是一个XML-RPC响应,您可以使用相应的PHP函数进行解码,然后访问元素: $filter = function($key, $value) { return function(array $entry) use ($key, $value) { return isset($entry[$key]

我想从这个XML文件中提取:“ENTRY\uURL,其中TITLE=episodul1:Pilot”


但这并不符合逻辑:|这里有一个实例:

您拥有的XML不仅仅是XML,它实际上是一个XML-RPC响应,您可以使用相应的PHP函数进行解码,然后访问元素:

$filter = function($key, $value) {
    return function(array $entry) use ($key, $value) {
        return isset($entry[$key]) && $entry[$key] === $value;
    };
};

$titleFilter = $filter('TITLE', 'Episodul 1: Pilot');
$array       = xmlrpc_decode(file_get_contents($url), 'utf-8');
$result      = array_filter($array, $titleFilter);

echo array_values($result)[0]['ENTRY_URL']; // prints "http://www.ufilme.ro/load/under_the_dome_online/sezonul_1/episodul_2_the_fire/674-1-0-5465"

@戴:如果你编辑缩进,那么请做得正确。@hakre我开始了,但是太多了-所以我做了前几个,以了解文档的结构。请随意为我结束:)@Dai:原始文件没有缩进,无论如何,这是该文件上运行的缩进(不要手动进行缩进,让您的IDE进行缩进)。我知道它看起来像SOAP响应之类的东西(因为似乎不必要的冗长),但我不知道PHP内置了处理它的函数。TIL@Dai:如果您激活了PHP配置,请检查它(对于我的PHP配置,我需要激活它)。如果您没有运行该扩展,那么还有其他纯用PHP编写的XML-RPC解析器,因此如果您认为这项工作太多,就不需要安装该扩展。如果遇到任何问题,请告诉我。@Dai:是的,XML-RPC是SOAP的前身。
$xml = simplexml_load_string($catapi);
$results = $xml->xpath('//methodResponse/params/param/array/data/value/struct/member/name[. = "TITLE"];
$filter = function($key, $value) {
    return function(array $entry) use ($key, $value) {
        return isset($entry[$key]) && $entry[$key] === $value;
    };
};

$titleFilter = $filter('TITLE', 'Episodul 1: Pilot');
$array       = xmlrpc_decode(file_get_contents($url), 'utf-8');
$result      = array_filter($array, $titleFilter);

echo array_values($result)[0]['ENTRY_URL']; // prints "http://www.ufilme.ro/load/under_the_dome_online/sezonul_1/episodul_2_the_fire/674-1-0-5465"