Visa signatur
Liten nisse dator hittar, och i denna de nu tittar. Nisse flexskiva vill vara, då datorn fil på honom spara.
Nisse inget skrivskydd har, så nisse slutar sina dar.
Hejsan,
Jag skulle behöva lite hjälp med att få rätt på mitt PHP skript.
Tanken är att det ska hämta information ifråm Wow armorys XML fil.
Så långt har jag fått det att fungera och den visar den informationen jag vill.
Men nu har jag ett problem som jag inte lyckas lösa.
Koden ser ut på följande sätt:
___________________________________________
<?php
//fetches an xml document using the cURL library
function fetchXML($url)
{
//initialize library
$ch = curl_init();
//used to make us look like a browser
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";
//set the url
curl_setopt ($ch, CURLOPT_URL, $url);
//set that we want to wait for a response
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
//make us look like a web browser
curl_setopt ($ch, CURLOPT_USERAGENT, $useragent);
//get data
$data = curl_exec($ch);
//clean up
curl_close($ch);
///return xml data
return $data;
}
define("USE_CURL", true);
//set character and realm info
$server = "Bloodscalp";
$guild = "Seraphim";
$url='http://eu.wowarmory.com/guild-info.xml?r='.$server.'&gn='.$guild;
//get xml doc with character info
$data = fetchXML($url);
//create a SimpleXML object to parse the xml
$char_xml = new SimpleXmlElement($data);
//print_r($doc); //Use print_r to see full XML
//print total members
echo "<b>Totalt antal medlemmar: ".$char_xml->guildInfo->guild->members->attributes()->memberCount."</b><br />";
//Print basic toon info
foreach ($char_xml->guildInfo->guild->members->character as $toons) {
$toon_name = $toons->attributes()->name;
$toon_rank = $toons->attributes()->rank;
$toon_class =$toons->attributes()->classId;
$toon_race =$toons->attributes()->raceId;
echo $toon_name." - ".$toon_rank." - ".$toon_class." - ".$toon_race."<br />";
}
?>
___________________________________________
Resultatet blir att den listar alla medlemmar. Så långt fungerar allt bra som sagt.
Men jag vill att den ska plocka alla druider enbart. Detta för att jag ska presentera det på ett snyggt sätt.
Jag tittade lite på en funktion som jag hittade men jag får fanken inte rätt på det.
___________________________________________
function findAttribute($object, $attribute) {
foreach($object->attributes() as $a => $b) {
if ($a == $attribute) {
$return = $b;
}
}
if($return) {
return $return;
}
}
___________________________________________
Någon som har ett tips?
Liten nisse dator hittar, och i denna de nu tittar. Nisse flexskiva vill vara, då datorn fil på honom spara.
Nisse inget skrivskydd har, så nisse slutar sina dar.
Löste det men hjälp av xpath istället
_______________________________________________________
foreach ($char_xml->xpath('////*[@classId="11"]') as $druid) {
echo $druid->attributes()->name."<br />";
}
_______________________________________________________
Liten nisse dator hittar, och i denna de nu tittar. Nisse flexskiva vill vara, då datorn fil på honom spara.
Nisse inget skrivskydd har, så nisse slutar sina dar.
Copyright © 1999–2023 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.