Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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 使用simplexml解析xml文件并访问属性_Php_Simplexml_Xml Parsing - Fatal编程技术网

Php 使用simplexml解析xml文件并访问属性

Php 使用simplexml解析xml文件并访问属性,php,simplexml,xml-parsing,Php,Simplexml,Xml Parsing,我正在尝试解析具有以下结构的xml文件: <?xml version="1.0" encoding="UTF-8" ?> - <uclassify xmlns="http://api.uclassify.com/1/ResponseSchema" version="1.00"> <status success="true" statusCode="2000" /> - <readCalls> - <classify id="cls1"

我正在尝试解析具有以下结构的xml文件:

<?xml version="1.0" encoding="UTF-8" ?> 
- <uclassify xmlns="http://api.uclassify.com/1/ResponseSchema" version="1.00">
  <status success="true" statusCode="2000" /> 
- <readCalls>
- <classify id="cls1">
- <classification>
  <class className="Arts" p="0.920034" /> 
  <class className="Business" p="2.81823e-005" /> 
  <class className="Computers" p="0.0040341" /> 
  <class className="Games" p="0.00846496" /> 
  <class className="Health" p="0.00203198" /> 
  <class className="Home" p="0.00136572" /> 
  <class className="Recreation" p="0.000526926" /> 
  <class className="Science" p="0.000160703" /> 
  <class className="Society" p="0.0611354" /> 
  <class className="Sports" p="0.00221835" /> 
  </classification>
  </classify>
  </readCalls>
  </uclassify>
我试图获得的输出是:

Arts: 0.920034
Business: 2.81823e-005 
  ... 
Society: 0.0611354
Sports: 0.00221835
尝试不同的事情已经有一段时间了,但无法解决这个问题。请帮助。

试试这个:

$resXml = simplexml_load_file($requestUrl); //$requestUrl is where the xml file is located

foreach ($resXml->readCalls->classify->classification->class as $d) {
    $currClassificationName = $d['className'];
    $currClassificationRating = (float) $d['p'];
    echo "$currClassificationName: $currClassificationRating" . "</br>";
}
$resXml=simplexml\u load\u文件($requestUrl)//$requestUrl是xml文件所在的位置
foreach($resXml->readCalls->classify->classification->class as$d){
$currClassificationName=$d['className'];
$CurrenClassificationRating=(浮动)$d['p'];
回显“$currClassificationName:$currClassificationRating”。
”; }
试试这个:

$resXml = simplexml_load_file($requestUrl); //$requestUrl is where the xml file is located

foreach ($resXml->readCalls->classify->classification->class as $d) {
    $currClassificationName = $d['className'];
    $currClassificationRating = (float) $d['p'];
    echo "$currClassificationName: $currClassificationRating" . "</br>";
}
$resXml=simplexml\u load\u文件($requestUrl)//$requestUrl是xml文件所在的位置
foreach($resXml->readCalls->classify->classification->class as$d){
$currClassificationName=$d['className'];
$CurrenClassificationRating=(浮动)$d['p'];
回显“$currClassificationName:$currClassificationRating”。
”; }
它工作得非常好!谢谢你的帮助,我想弄明白这件事快发疯了。我试图根据我找到的一个示例对代码进行建模,但并不知道我在“$children=$resXml->children(”);”中做了什么。您是否使用uclassify中的php库解析了数据?它工作得非常好!谢谢你的帮助,我想弄明白这件事快发疯了。我试图根据我找到的一个示例对代码进行建模,但并不知道我在“$children=$resXml->children(”);”中做了什么;您是否使用uclassify中的php库解析了数据?
$resXml = simplexml_load_file($requestUrl); //$requestUrl is where the xml file is located

foreach ($resXml->readCalls->classify->classification->class as $d) {
    $currClassificationName = $d['className'];
    $currClassificationRating = (float) $d['p'];
    echo "$currClassificationName: $currClassificationRating" . "</br>";
}