1
Ich versuche, eine XML-Datei zu analysieren, die diese Struktur hat:Parsen einer XML-Datei mit simplexml und den Zugriff auf Eigenschaften
<?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>
Ich versuche, die Eigenschaften und classname p in der Klasse zuzugreifen. Dies ist der Code, den ich bisher:
$resXml = simplexml_load_file($requestUrl); //$requestUrl is where the xml file is located
$children = $resXml->children('http://api.uclassify.com/1/ResponseSchema');
foreach ($children->readCalls->classify->classification->class as $d) {
$currClassificationName = $d['className'];
$currClassificationRating = (float) $d['p'];
echo "$currClassificationName: $currClassificationRating" . "</br>";
}
Dies ist die Ausgabe:
: 0
: 0
: 0
: 0
: 0
: 0
: 0
: 0
: 0
Der Ausgang I zu bekommen versuchen ist:
Arts: 0.920034
Business: 2.81823e-005
...
Society: 0.0611354
Sports: 0.00221835
verschiedene Dinge Versucht für eine Weile und kann das nicht herausfinden. Bitte Hilfe.
Es funktioniert perfekt! Danke für die Hilfe, ich war verrückt geworden, um das herauszufinden. Ich habe versucht, meinen Code nach einem Beispiel zu modellieren, das ich gefunden habe, und wusste nicht wirklich, was ich mit "$ children = $ resXml-> children" ('http://api.uclassify.com/1/ResponseSchema') gemacht habe; " –
haben Sie es geschafft, Daten mit PHP-Bibliothek von UClassify zu analysieren? –