用PHP解析XML.重复的节点名称

我正在使用simplexml_load_file()函数解析xml文件.当我遇到两个同名的节点时,我遇到了问题.我的
XML文件结构是:

<company>
    <name>Test Co</name>
    <link href="link1" rel="self"/>
    <link href="link2" rel="www"/>
</company>

以下是代码:

$parametrs = simplexml_load_file("my.xml");
foreach ($parametrs->company as $param ) {
    echo $param->name;    
}

我如何回应每家公司的link2?

最佳答案

<?php
$xml = '<?xml version="1.0" ?>
<company>
<name>Test Co</name>
<link href="link1" rel="self"/>
<link href="link2" rel="www"/>
</company>';


$parameters = new SimpleXmlElement($xml);

echo (string)$parameters->link[1]['href'];  // note you must cast here!

这将输出’link2′(不带引号).

此外,您可能想要预先检查这些元素是否存在,但我会将其留给您,因为它超出了问题的范围;)

点赞