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

[XML] Onduidelijke structuur

Pagina: 1
Acties:

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Ik krijg de volgende structuur van iemand aangeleverd (gedeelte)

XML:
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>

...........

<rxd:residential id="HN10455">
        <rxd:address streetName="Nieuwe Sint Jansstraat" streetNr="53" streetNrExtension="" district="" city="GRONINGEN" zipcode="9711 VH" country="Nederland" province="Groningen"/>

.........


Ik moet vanuit dit bestand naar een opgemaakt html bestand.. schiet mij maar lek, want normale xml is het niet..op welke manier kan ik dit parsen?

[ Voor 2% gewijzigd door een moderator op 21-03-2008 11:33 . Reden: Code tags toegevoegd ]

I reject your reality and substitute my own!


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 19-11 12:55

Janoz

Moderator Devschuur®

!litemod

Mwah, zo te zien is het nog steeds valide xml. Helemaal normaal is het niet om data in attributen te zetten, maar dat maakt het parsen toch niet ineens onmogelijk?

Ik wil je best lek schieten, maar het lijkt me makkelijker wanneer je ietsje meer verteld over wat er precies neit lukt, wat je geprobeert hebt, maar vooral, wat gebruik je eigenlijk? Gaat het hier om xslt? Dat lees ik namelijk nergens terug in je post.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • I-V-O
  • Registratie: Juli 2005
  • Laatst online: 09-11 20:52

I-V-O

powerpoker

Waarmee wil je het parsen?
Het is wel degelijk gewone XML, maar met namespace-declaraties

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10 14:25
En aangezien het XML is, van XML -> HTML (ik neem aan dat je alleen opmaak wilt tonen en verder niks) gebruik XSLT

Verwijderd

code:
1
<xsl:value-of select="rxd:address/@streetName"/>

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Ik heb dus een hele rits van deze code waarbij residential id zich steeds herhaald voor elke woning. De bedoeling is dat op deze woningen (in het echte bestand zitten zo'n 100 woningen) gezocht kan worden en mooi wordt weergegeven in een door mij ontwerpen pagina... Is het nu zo dat ik zelf in php een parser moet schrijven die dit allemaal stuk voor stuk uitzoekt en plaatst in de database. Of is hier een functie zelf voor in php die het netjes uit elkaar trekt en in array's plaast? Of is er nog een mogelijkheid die ik niet zie?

(ps ik plaatst dit nu netjes tussen [code=xml] Maar hij format het hier niet)
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    <rxd:residential id="HN10455">
        <rxd:address streetName="Nieuwe Sint Jansstraat" streetNr="53" streetNrExtension="" district="" city="GRONINGEN" zipcode="9711 VH" country="Nederland" province="Groningen"/>
        <rxd:description short="Gerenoveerde sfeervolle schipperswoning in het centrum van de stad nabij het UMCG.">
        
        <![CDATA[ 
        Gerenoveerde sfeervolle schipperswoning in het centrum van de stad Groningen in de directe nabijheid van het UMCG. Deze woning heeft een vrijstaande houten berging, een tuin/terras op het zuiden. De woning is achterom te bereiken via de Oostersingel en de Agricolastraat.<br />
<br />
Indeling begane grond:<br />
entree, hal, meterkast en toilet.<br />
kamer ca 22 m² met doorgang naar de keuken.<br />
keuken ca 6 m² voorzien van inbouwappartuur betsaande uit:<br />
4 pits-gaskookplaat, oven en koelkast.<br />
vanuit de keuken een deur naar de badkamer en hal achter.<br />
hal achter met deur naar de tuin achter en trapopgang naar de verdieping.<br />
<br />
Verdieping:<br />
overloop met vaste inloopkast en vaste kast met c.v. ketel en wasmachine aansluiting.<br />
slaapkamer ca 12,5 m² met bergruimte achter knieschotten.<br />
<br />
aanvullende informatie:<br />
woning met erfpacht waarvan de canon is afgekocht tot 2035.<br />
keuken vernieuwd in 2008 met garantie.<br />
c.v.ketel vernieuwd in 2008 met garantie.<br />
leidingwerk complete c.v.installatie nagekeken door installateur, gedeeltelijk vervangen.<br />
dak- en muurisolatie.<br />
achtertuin op het zuiden.<br />
vrijstaande houten berging ca 5 m².<br /> 
        ]]>
        </rxd:description>

            <rxd:media>................

[ Voor 0% gewijzigd door een moderator op 21-03-2008 11:32 . Reden: Werkt wel degelijk hoor ;) ]

I reject your reality and substitute my own!


  • Victor
  • Registratie: November 2003
  • Niet online
mkanon schreef op vrijdag 21 maart 2008 @ 11:21:
Ik heb dus een hele rits van deze code waarbij residential id zich steeds herhaald voor elke woning. De bedoeling is dat op deze woningen (in het echte bestand zitten zo'n 100 woningen) gezocht kan worden en mooi wordt weergegeven in een door mij ontwerpen pagina... Is het nu zo dat ik zelf in php een parser moet schrijven die dit allemaal stuk voor stuk uitzoekt en plaatst in de database. Of is hier een functie zelf voor in php die het netjes uit elkaar trekt en in array's plaast? Of is er nog een mogelijkheid die ik niet zie?
Wat jij zoekt is XSLT. Hiermee kun je XML documenten in andere formaten (andere XML, HTML of text) transformeren. XSLT is ook vanuit PHP te gebruiken.

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 09:24

Kettrick

Rantmeister!

Je kan ook met xpath/simple xml de huisdata terughalen naar php niveau, je hoeft dat niet met XSLT aan de slag :).

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-11 09:49

Bosmonster

*zucht*

En mocht dat allemaal te ingewikkeld zijn zoek je met google even op "php xml2array" en je krijgt waarschijnlijk tig scripts om het in 1x om te zetten naar een array waar je wel wat mee kan.

Netjes is het niet natuurlijk, maar het werkt wel :)

[ Voor 23% gewijzigd door Bosmonster op 21-03-2008 11:39 ]

Pagina: 1