-
04-11-2011, 01:00 #1Approved 9-lifer
- Registered
- 15/07/05
- Location
- Overpelt
- Posts
- 1,259
- iTrader
- 72 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
XML node d.m.v. PHP naar textarea
Beste mensen,
Ik zit vast na uren sleutelen een van mijn websites. En na vele pogingen door suggesties van mijn goede vriend Google, geef ik het voorlopig op.
Weet iemand hier toevallig hoe ik via PHP één node(?) uit een XML source kan nemen?
De XML source is geen bestand, het is een API link welke er zo uit ziet:
Het is ook niet de bedoeling dat ik de output ergens ga opslaan ofzo, het moet een eenmalige request blijven.Code:https://secure.mysite.com/api=keyid?action=getip
De XML code die dan komt is de volgende (lichtjes anoniem gemaakt), en hier zou ik dus graag het "IP" alleen willen tonen in een textbox d.m.v. een PHP functie.
Een antwoord als "gebruik simplexml eens" helpt me niet verder. Graag zie ik een lijntje code of 4, mocht iemand raad weten.Code:<api> <version>1.0</version> <response> <result module="ips" action="" type="select" code="1000">SUCCESS</result> <details> <detail> <code>1000</code> <description>IP details from: 11ID</description> <id>11ID</id> <server_pack_id>11ID</server_pack_id> <server_name>11SNAME</server_name> <ip_record> <ip>95.my.ip.here</ip> <reverse_lookup>hosted-by.mydomain.com</reverse_lookup> <ip_details> <gateway>95.my.gateway.here</gateway> <mask>255.my.mask.here</mask> </ip_details> </ip_record> <ip_record> <ip>95.my.ip.here</ip> <reverse_lookup>hosted-by.mydomain.com</reverse_lookup> </ip_record> </detail> </details> </response> </api>
Alvast bedankt!~ Nintendo ID: Agghanim ~
~ 3DS Friends Code: 4124-4977-2080 ~no votes
-
-
04-11-2011, 01:06 #2Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
Gebruik SimpleXML eens.
Komaan, dat is POEPsimpel. Zet de output van SimpleXML in een variabele en dump die met var_dump, dan zie je direct hoe je aan dat veld kan geraken.
En wat de regeltjes code betreft kan je terecht op : http://be2.php.net/manual/en/simplex...ples-basic.phpPSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
04-11-2011, 01:54 #3
haha geweldige comment dJeez , en terecht!
no votes
-
04-11-2011, 11:24 #4Approved 9-lifer
- Registered
- 15/07/05
- Location
- Overpelt
- Posts
- 1,259
- iTrader
- 72 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Heb ik al gedaan, het gaf geen output aangezien hij (denk ik) de source niet kan lezen daar het geen xml bestand is, of ligt het misschien aan het feit dat het via ssl de output geeft?
Via libxml_use_internal_errors:
Ik weet dat het poepsimpel zou moeten zijn, ik had simplexml daarom ook gebruikt met een extern xml bestand en dat werkte wel prima.Code:Failed loading XML failed to load external entity "mijn url hier"
Last edited by Nightfall; 04-11-2011 at 11:36.
~ Nintendo ID: Agghanim ~
~ 3DS Friends Code: 4124-4977-2080 ~no votes
-
04-11-2011, 14:57 #5
enkele gedachte:
Hebt ge openssl op uw server geinstalleerd?
gebruikt ge misschien relatieve paden fzo? Als ge extern gaat ophalen zou ge denk ik bvb wel een absoluut path moeten opgeven.
Misschien uw code nekeer posten als het niet te lang is ..
no votes
-
04-11-2011, 17:04 #6Approved 9-lifer
- Registered
- 15/07/05
- Location
- Overpelt
- Posts
- 1,259
- iTrader
- 72 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
openssl: ja (zowel op mijn server/domein als server/domein van de xml)
url: absoluut
Op dit moment bestaat mijn xml code niet over meer dan dit: (eerder troubleshooting dan iets anders). Zolang hij nog eens niet aangeeft dat hij een XML vindt, kan er niets mee gedaan worden. Ik ben ook maar een noobje dus ik weet niet in hoeverre overige code relevant gaat zijn.
Output: (met file_get_contents, met simplexml_load_string)PHP Code:libxml_use_internal_errors(true);
$url="https://full.url.to/myapi?action=dothis?key=45648945615616"; //fictief voorbeeld
$url=file_get_contents($url);
$sxe = simplexml_load_string($url);
var_dump($sxe); //return boolean(false)
if (!$sxe) {
echo "Failed loading XML\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}
var_dump - echo - $error
Output: (zonder file_get_contents, met simplexml_load_file)Code:bool(false) Failed loading XML
var_dump - echo - $error
Code:bool(false) Failed loading XML failed to load external entity https://full.url.to/myapi?action=dothis?key=45648945615616
Last edited by Nightfall; 04-11-2011 at 17:14.
~ Nintendo ID: Agghanim ~
~ 3DS Friends Code: 4124-4977-2080 ~no votes
-
04-11-2011, 19:59 #7
php - file_get_contents with https? - Stack Overflow
Staan ook een paar oplossingen tussen, user agent header toevoegen, zien dat "allow_url_include = On" aanwezig is in php.ini, enz...no votes
-
04-11-2011, 20:32 #8Approved 9-lifer
- Registered
- 15/07/05
- Location
- Overpelt
- Posts
- 1,259
- iTrader
- 72 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
thanks, ik ga het zo snel mogelijk eens bekijken!
~ Nintendo ID: Agghanim ~
~ 3DS Friends Code: 4124-4977-2080 ~no votes
-
04-11-2011, 21:44 #9Member
- Registered
- 17/07/02
- Location
- Sol System
- Posts
- 10,064
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/78
Waarom haal je die info eerst binnen via file_get_contents om ze dan als string te gaan parsen met simplexml? Waarom niet direct simplexml_load_file gebruiken met de URL as parameter (ervan uitgaande dat de URL wrappers actief zijn, maar ik moet de eerste degelijke hoster nog tegenkomen die die afzet)?
Daarnaast klopt de URL van je fictieve voorbeeld ook niet. Je kan geen 2 query strings gebruiken, als je meerdere parameters hebt dan geef je die gescheiden door ampersands (&) door (http://en.wikipedia.org/wiki/Query_string).
BTW libxml2 - failed to load external entity xml file - Stack OverflowLast edited by dJeez; 04-11-2011 at 21:49.
PSN: dJeezBE - Delicious bookmarks
Disclaimer: I am currently suffering from severe CSD (Compulsive Sarcasm Disorder). - L'onion fait la farce - Facile largire de alienoPastafarian by choiceno votes
-
04-11-2011, 22:03 #10Approved 9-lifer
- Registered
- 15/07/05
- Location
- Overpelt
- Posts
- 1,259
- iTrader
- 72 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
De bedoeling was idd dat het enkel via simplexml_load_file zou gebeuren, maar daar ik niet wist of hij effectief de source als file zou zien dacht ik de source zeker via een string leesbaar te maken.
De url in het voorbeeld is idd verkeerd. De 2de en alle volgende parameters worden uiteraard via & gescheiden en niet ?. Een typo in het voorbeeld, niet in de praktijk.
Die laatste link die je gaf had ik idd ook al tegengekomen, maar nog niet toegepast (eerlijk gezegd weet ik niet hoe, leervoer voor morgen). Hartelijk bedankt voor de reacties!~ Nintendo ID: Agghanim ~
~ 3DS Friends Code: 4124-4977-2080 ~no votes
