2011-11-04 110 views
1

我具有位于所指定的URL,它包括概率的沉淀的节点,其具有其架构实例声明(多个)允许它们的nillable几个“值”元素的XML文件。但是,php中的attributes()函数并不显示此元素的XSI声明。使用PHP,如何访问由XML模式声明声明的XML元素的属性?

$feedURL= "http://forecast.weather.gov/MapClick.php?lat=32.78520&lon=-79.99400&FcstType=dwml"; 

// read feed into SimpleXML object 
$wxml = simplexml_load_file($feedURL); 

echo $wxml->data->parameters->{'probability-of-precipitation'}->value[0]->attributes(); 

是否可以打印'XSI属性'? 谢谢

回答

0

对于此$ feedURL变量,传递的XML文件包含一个XML名称空间指令,该指令指定URI“http://www.w3”引用“XSI”前缀的名称空间。组织/ 2001/XMLSchema的实例“。

所以,为了访问对应于该值的属性(@属性)集合[0]元件,则需要的属性功能参数值的范围内指定此URI,例如:

print_r($wxml->data->parameters->{'probability-of-precipitation'}->value[0]->attributes('the_XSI_prefix's_URI')); 

上面将输出在浏览器中:

Nil, 

如果XSI:无=“true”指令在http://forecast.weather.gov/MapClick.php?lat=32.78520&lon=-79.99400&FcstType=dwml XML文件的最新版本通过。

+0

对XML命名空间和前缀的W3C详解于:http://www.w3schools.com/XML/xml_namespaces.asp – user377241