使用属性作为选择器的XML数据

时间:2014-11-04 03:01:57

标签: php xml

如何退回' 3'在

<element type="forecast_icon_code">3</element>

来自此外部xml:

ftp://ftp2.bom.gov.au/anon/gen/fwo/IDV10450.xml

这是我的功能:

function state($Sitelink) {

$url = $Sitelink;

$file = $url;
if(!$xml = simplexml_load_file($file))
exit('Failed to open '.$file);

$result = $xml->forecast->forcast-period->element;
print_r($result);
}

使用:

调用该函数
state("ftp://ftp2.bom.gov.au/anon/gen/fwo/IDV10450.xml")

2 个答案:

答案 0 :(得分:1)

您需要一些xpath操作。

How extract XML data using PHP

有一个示例使用相同的XML数据,可以为您提供一个开始。

答案 1 :(得分:0)

我发现SimpleXMLElement在解析中间带连字符的元素时遇到了一些问题,就像你在上面的“forcast-period”一样。

我发现自己处于类似情况并使用xpath解决了它。

请参阅以下资源并检查SimpleXMLElement :: xpath()的用法:

SimpleXMLElement xpath doc