Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

xml subtags uitlezen

Pagina: 1
Acties:
  • 253 views sinds 30-01-2008
  • Reageer

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 19-11 13:12

Dark Blue

Compositionista!

Alpenmeisje

Topicstarter
Ik gebruik waarschijnlijk de verkeerde woorden, maar dat komt omdat ik er ook niks van snap. Dus lees door: misschien is 1 keyword genoeg om mij te helpen ipv. een lange lap tekst.

Ik wil een RSS feed uitlezen, die van Picasa. Ik gebruik de RSS feed in mijn CMSsysteem. Die geeft van zichzelf al wat mooie voorzetten aan: hij maakt voor elk item uit de feed een $item aan en alle tags die daar direct binnen staan kan ik aanroepen op de volgende manier:

{$item.title}

En dan plukt hij dus <title>blaatblaat</title> uit het item. Maar nu loop ik tegen complexere tags op:

code:
1
<media:thumbnail url='http://www.picasaserver/plaatje.jpg' height='160' width='160'/>


Ik heb al allerlei manieren geprobeerd om dus zo'n subtag aan te spreken: gewoon nadoen:

{$item.media:thumbnail}
Geeft een error.
{$item.media.thumbnail} ook.
{$item.thumbnail} zelfde verhaal.

Ik heb bij Google gezocht naar beschikbare lijsten om dus zelf die thumbnail eruit te plukken, maar ze geven eigenlijk geen tags die werken. Wel voor specifieke weblogs, maar niet als je gewoon die tags eruit wil hebben.

Ik wil namelijk dat plaatje hebben, en als IMG gebruiken of als background in mijn code. Picasa geeft wel een <description> tag waar een plaatje en een hoop info in staat, maar ik hoef die info niet en de tabel die eromheen geplakt wordt, al helemaal niet! :r

Hoe doe ik dit nou?

Ok, ik weet nu dat het een namespace heet:
http://www.w3schools.com/xml/xml_namespaces.asp

Maar wat ik er nu uit kan halen, snap ik nog steeds niet. Als ik namelijk alleen 'thumbnail' aanspreek geeft hij geen thuis.

[ Voor 7% gewijzigd door Dark Blue op 24-01-2008 22:34 ]

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


  • Juup
  • Registratie: Februari 2000
  • Niet online
In welke taal ben je aan het hacken? php ofzo? Laat ons eens een stukje code zien.
Welke lib leest die RSS feed in?

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Volgens mij werk je met PHP en is dit dus een PHP-vraag. Nog volgens mijn hersenkronkels: je CMS heeft een specifiek template-systeem en of wel moet je es goed nadenken over je code, ofwel es chekcen bij de support-afdeling van je CMS wat er dit soort gevallen moet gebeuren.

{$item.media:thumbnail}: Tot slot vermoed ik dat een dubbele punt niet kan in een variable, je zal dit dus moeten proberen omzeilen.

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 26-05 15:01

XangadiX

trepanatie is zóó kinderachtig

hoort natuurlijk in programming

Stoer; Marduq


  • Duroth
  • Registratie: Juni 2007
  • Laatst online: 27-04-2016

Duroth

No rest for the tweaked

Dat is even debuggen dus ;)

Als je je XML file in hebt gelezen, en dus alle xml tags omgezet zijn naar php vars, moet je even een echo (print_r) maken van function: get_defined_vars();, dan zie je meteen *alle* variabelen die in je huidige script gezet zijn.
Als je print_r(); gebruikt, worden alle arrays ook nog eens netjes uitgeschreven voor je.
dus...

PHP:
1
2
3
4
5
6
<?php
# Eerst je xml file inlezen
echo '<pre>';
print_r ( get_defined_vars() );
echo '</pre>';
?>


En dan kijken of de waarde die je zoekt erbij staat ;)

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 13:35
Een tijdje terug ook eens mee lopen stoeien, het hangt er een beetje vanaf of je je huidige systeem goed kan aanpassen maar mijn SimpleXMLElement -> Array class heeft bijvoorbeeld totaal geen moeite met (namespaced) attributen, als jou systeem op een soortgelijke manier werkt moet je dat er vrij simpel in kunnen hacken :)

Als het er wel al inzit is Duroth's manier natuurlijk een prima manier om erachter te komen hoe je het anders wel aan spreekt :+

[ Site ] [ twitch ] [ jijbuis ]


  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 19-11 13:12

Dark Blue

Compositionista!

Alpenmeisje

Topicstarter
hihi, ik was hem al kwijt.
Duroth schreef op zaterdag 26 januari 2008 @ 17:05:
Dat is even debuggen dus ;)

Als je je XML file in hebt gelezen, en dus alle xml tags omgezet zijn naar php vars, moet je even een echo (print_r) maken van function: get_defined_vars();, dan zie je meteen *alle* variabelen die in je huidige script gezet zijn.
Als je print_r(); gebruikt, worden alle arrays ook nog eens netjes uitgeschreven voor je.
dus...

PHP:
1
2
3
4
5
6
<?php
# Eerst je xml file inlezen
echo '<pre>';
print_r ( get_defined_vars() );
echo '</pre>';
?>


En dan kijken of de waarde die je zoekt erbij staat ;)
Ik heb het inmiddels al omzeild door maar geen thumbnails uit te lezen, maar daar wordt dat deel van mijn fotogallerij wel een stuk onaantrekkelijker door.

Ik ga jouw manier proberen en dan maar hopen dat Picasa in z'n xml nog wel ergens gewoon heel plain die url van de thumbnail meestuurt.

Bedankt sofar! :)

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


  • Duroth
  • Registratie: Juni 2007
  • Laatst online: 27-04-2016

Duroth

No rest for the tweaked

Als je de informatie die je zoekt, niet met get_defined_vars(); kan vinden, wordt die informatie simpelweg niet (goed) geparsed, en zal je helaas op zoek moeten gaan naar een manier om die informatie alsnog uit je XML te trekken. Doorvoor verwijs ik je lekker door naar FragFrog's post hierboven :P

  • StephanVierkant
  • Registratie: Mei 2003
  • Laatst online: 05-11 23:08
Is er al een oplossing gevonden? Ik zit nu met hetzelfde probleem en het lijkt erop dat de RSS-feed de informatie niet (goed) meestuurt. Met get_defined_vars() vind ik geen <media> meer terug.

Ik gebruik overigens deze oplossing omdat ik (nog) geen PHP5 draai op mijn server.

Update: Het zou best eens met mijn PHP4-workaround te maken kunnen hebben, aangezien ik bij <title> ook 'MarloesDSCN4750.JPGMarloes' zie staan. Niet echt een juiste titel dus.

[ Voor 49% gewijzigd door StephanVierkant op 02-03-2008 21:07 . Reden: aanvulling i.v.m php4 ]

Pagina: 1