Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:当这个XML实体的名称包含保留字时,如何访问它?_Php_Xml_Simplexml - Fatal编程技术网

PHP:当这个XML实体的名称包含保留字时,如何访问它?

PHP:当这个XML实体的名称包含保留字时,如何访问它?,php,xml,simplexml,Php,Xml,Simplexml,我正在尝试分析此提要: 我想抓取“关系列表”标签内的URL 我曾尝试使用PHP使用simplexml\u load\u file()获取URL,但我无法使用$feed->artist->relationship list访问它,因为PHP将“list”解释为list()函数 我有一种感觉,我犯了这个错误(没有太多XML经验),即使我能够获得我想要的元素,我也不知道如何提取它们的属性(我只想要类型和目标字段) 有人能轻轻地把我推向正确的方向吗 谢谢。 Matt看看php.net页面上的,它们实际上

我正在尝试分析此提要:

我想抓取“关系列表”标签内的URL

我曾尝试使用PHP使用
simplexml\u load\u file()
获取URL,但我无法使用$feed->artist->relationship list访问它,因为PHP将“list”解释为
list()
函数

我有一种感觉,我犯了这个错误(没有太多XML经验),即使我能够获得我想要的元素,我也不知道如何提取它们的属性(我只想要
类型
目标
字段)

有人能轻轻地把我推向正确的方向吗

谢谢。 Matt

看看php.net页面上的,它们实际上告诉您如何解决这个问题:

// $feed->artist->relation-list
$feed->artist->{'relation-list'}
要获取节点的属性,只需使用属性名称作为节点上的数组索引:

foreach( $feed->artist->{'relation-list'}->relation as $relation ) {
    $target = (string)$relation['target'];
    $type = (string)$relation['type'];
    // Do something with it
}
(未经测试)

看看php.net页面上的,它们实际上告诉您如何解决此问题:

// $feed->artist->relation-list
$feed->artist->{'relation-list'}
要获取节点的属性,只需使用属性名称作为节点上的数组索引:

foreach( $feed->artist->{'relation-list'}->relation as $relation ) {
    $target = (string)$relation['target'];
    $type = (string)$relation['type'];
    // Do something with it
}

(未经测试)

谢谢,我似乎错过了这个语法。你是个英雄!有时候SimpleXML语法“感觉”很奇怪,这让我很困惑。永远不要忘记进行类型转换,否则您的脚本将因奇怪的错误而崩溃。(:谢谢,我似乎错过了语法。你是个英雄!有时候SimpleXML语法“感觉”很奇怪,它让我很困惑。千万别忘了做类型转换,否则你的脚本会出现奇怪的错误。(: